關鍵在於前3項單獨處理,從第4項開始迴圈
#include
using
namespace std;
intmain()
if(n==
2||n==3)
//當n為第二項或第三項時,f都為1
for(i =
4; i <= n;i++
)//從第4項開始進行迴圈
cout << f << endl;
return0;
}
前幾項是1,1,2,3,5,每一項都等於前面兩項的和
注意:第1、2項的值都為1,從第3項開始等於前兩項之和,所以for迴圈應該從第3項開始
#include
using
namespace std;
intmain()
for(i =
3; i <= n;i++
)//從第3項開始,f為前兩項之和
cout << f << endl;
return0;
}
現在已知fibonacci(菲波那切)數列的前幾項0、1、1、2、3、5、8……,程式設計求出第 n 項
注意:第1、2項分別為0、1,從第3項開始為前兩項之和
n的取值為1~50,第50項的值很有可能已經超過了int的範圍,所以需定義前兩項和第n項均為長整型
#include
using
namespace std;
intmain()
cout << f << endl;
return0;
}
題目要求:輸出fibonacci數列前40項(每十項一行,每兩項之間用空格分隔)
#include
using
namespace std;
intmain()
return0;
}
求fibonacci數列的前20項,並按從大到小的順序輸出
方法思路:先求出數列的前20項,存在陣列中,然後倒序輸出陣列
#include
using
namespace std;
intmain()
for(
int j=
19;j>=
0;j--
) cout<
<<
" ";
return0;
}
設定乙個標誌變數flag,用以實現當i為奇數時,sum=sum+i;當i為偶數時,sum=sum-i。
#include
using
namespace std;
intmain()
cout << sum << endl;
return0;
}
方法一(較難):每一項都先得到s1=1-3+5-7+…+2n-1,再用s2=s2+1.0/s1
#include
using
namespace std;
intmain()
printf
("%.6f"
, s2)
;return0;
}
方法二(簡單):計算 1+1/(1-3)+1/(1-3+5)+…+1/(1-3+5-…+2n-1)等價於計算1-1/2+1/3-1/4+…+1/n
#include
using
namespace std;
intmain()
printf
("%.3f"
, s)
;return0;
}
輸入乙個數n,計算階乘之和s=1!+2!+3!+…+n!
注意:通過乙個迴圈即可實現,s2表示第i個數的階乘,s2的值是在不斷更新的
#include
using
namespace std;
intmain()
cout << s1 << endl;
return0;
}
練習,等比數列求和
description 已知q與 n,求等比數列之和 1 q q2 q3 q4 qn input 輸入一對資料,含有乙個整數n 1 n 20 乙個小數 q 0 q 2 output 對於每組資料n和q 計算其等比數列的和,精確到小數點後 5位。sample input 5 1.2 sample ou...
(C語言)練習2 數列求和
數列的定義如下 數列的第一項為n,以後各項為前一項的平方根,求數列的前m項的和。input 輸入資料有多組,每組佔一行,由兩個整數n n 10000 和m m 1000 組成,n和m的含義如前所述。output 對於每組輸入資料,輸出該數列的和,每個測試例項佔一行,要求精度保留2位小數。exampl...
Java 數列求和
題目描述 編寫程式,輸入乙個正整數n 求下列算式的值。用函要求定義和調數 fact k 計算k 的階乘,函式返回值的型別是 double。1 1 2 1 n 輸出保留5 位小數。輸入 5輸出1.71667 樣例輸入 5樣例輸出 1.71667 提示地區 南京研究所 產品線公共 階段招聘 難度1級 p...