大數斐波那契數列c 實現

2021-09-26 22:57:18 字數 941 閱讀 5167

斐波那契數列的定義如下:定義一組數的第乙個為1,第二個為1,之後的每個數都是前兩個數之和,將這樣的一組數稱為斐波那契數。斐波那契數的前十個數是:1,1,2,3,5,8,13,21,34,55。

它是面試中高頻出現的一種**題,主要考察的技能是遞迴(斐波那契數通常用遞迴來實現,迴圈也可以)。但這也是斐波那契數列最基本的操作,再深入一點的話,可以將斐波那契數列和大數加法結合起來,這也是我們這篇文章的重點。

我們來看道普通的例子:請求出第10個斐波那契數。這道題可能對大多數同學來說都是很簡單的,遞迴和迴圈兩種解法的**如下:

//code

#includeusing namespace std;

//遞迴

int fib(int n)

//迴圈

int fib1(int n)

return second;

}int main()

;//前2位

int second[10000] = ; //前1位

int tmp[10000] = ;

void fib(int n)

if (n == 3)

first[1] = 1; first[0] = 1;

second[1] = 2; second[0] = 1;

for (int i = 3; i < n; i++)

}if (in)

for (int j = second[0]; j >= 0; j--)

for (int j = tmp[0]; j >= 0; j--)

}cout << "第" << n << "位fib數列:";

for (int i = second[0]; i > 0; i--)

cout << endl;

}int main()

return 0;

}

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

C 實現斐波那契數列

斐波那契數列 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368.長相簡單,實現簡單,網上童鞋們的搞法多數都是直觀的遞迴,逐個計算實現getfibonaccisequen...

實現斐波那契數列

方法 一 通過迭代器實現 class fibiterator object def init self,n self.n n 是使用current儲存當前數列中第幾個數 self.current 0 使用num1儲存數列中前乙個數,初始值為0 self.num1 0 使用num2儲存數列中後乙個數,...