c 程式設計 斐波納契數列,最好只用迴圈語句

時間 2023-01-27 16:45:11

1樓:依然特雷西

1、點選檔案選項,選擇檔案→新建→專案→常規→空專案→輸入專案名,滑鼠點選確。

專定。屬檢視大圖" >

2、右側解決方案, 點選原始檔→新增→新建項→。

3、在名稱位置,輸入原始檔名(特別注意:我們編寫的是c檔案,故字尾改為。c)。

4、接下來就是編寫程式了,如,求斐波那契數列的前40項,具體**如下。

5、在執行介面的,結果演示如下圖(前40項)。 斐波那契數列的應用: 如,跳臺階問題與斐波那契數列很相像。

2樓:小伏飛刀

我給你講一下思路:

在fibonacci數列中,f[0]=0,f[1]=1,f[n]=f[n-1]+f[n-2](n>=2)。舉例來說,fibonacci數列的前十個數是。

我們可以用利用矩陣乘法來計算fibonacci的第n項 :

|f[n+1] f[n] |1 1|.|1 1|.|1 1|..共n個。

|f[n] f[n-1] |1 0| |1 0| |1 0|

用這個方法就可以避免遞迴了。

我以前寫了一個程式,因為為了避免高精度的麻煩,就直接取的是斐波那契數列的後四位。你看看,把它改成高精度就可以了。

#include

#include

#include

using namespace std;

int i,c[10001];

int a[2][2]=,int b[2][2];

void trial(int n)

if(n%2==0)}}

void fib(int n)

for(j=i;j>=0;j--)

if(c[j]==2)}}

int main()

fib(n);

cout

3樓:

斐波那契數列就是 0 1 1 2 3 5 8 13 21 ..

除了最開始的0和1,後面每一個數都是前面兩個數相加之和。

不用遞迴就用迴圈啊。

4樓:

真服了你,遞迴也做得到n的時間複雜度的啊。

很多東西用遞迴解決容易,用其他方法麻煩。

斐波納契數列

5樓:半季流年

你好!這個問題有兩種解法,第一種是書上常用的,用遞迴實現。

第二種是我自己想出來的,很簡單易懂,而且是用迴圈實現的,例如:

#include

void main()

}用遞迴實現則是:

#include

int fib(int n)

void main()

}第一個絕對是原創的,希望採納!

c++簡單的遞迴函式設計(斐波那契數列)

用遞迴演算法實現斐波那契數列1,1,2,3,5,8,13……的前20項,每輸出5項一換行,用c++

c++程式設計,使輸出等差,等比數列,和斐波那契數列

用函式求斐波那契數列第n項 c++

6樓:匿名使用者

是不是這樣就行了,int fun(int n)

沒測,應該不會錯,你自己測下。

用c++編寫一個程式,輸出100以內的斐波那契數列

斐波那契數列 1 1 2 3 5 8 13

斐波那契數列通項公式推導方法 fn 1 fn fn 1 兩邊加kfn fn 1 kfn k 1 fn fn 1 當k 1時 fn 1 kfn k 1 fn 1 k 1 fn 1 令 yn fn 1 kfn 若 當k 1 k 1,且f1 f2 1時 因為 fn 1 kfn 1 k fn kfn 1 y...

輸入資料n,計算斐波那契數列(fibonacci)的第n

寫一個短的,用遞推的 速度比較快 int fibo int n 還有一種數學方法 直接出解,但可能有精度問題 int fibo int n 之思迪 直接用遞推的方法來解決 int main int n,i scanf d n if n 2 printf fib d n fib n 1 void ma...

斐波那契數列有沒有通項公式

an 1 根號5 n屬於正整數 這個數列是由13世紀義大利斐波那契提出的的,故叫斐波那契數列。該數列由下面的遞推關係決定 f0 0,f1 1 fn 2 fn fn 1 n 0 它的通項公式是 fn 1 根號5 n屬於正整數 補充問題 菲波那契數列指的是這樣一個數列 1,1,2,3,5,8,13,21...