練習 數列及數列求和

2021-09-29 14:32:07 字數 2222 閱讀 9917

關鍵在於前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...