C++中的斐波纳契系数实现:在斐波纳契系列的情况下,下一个数字是前两个数字的总和,例如:0
,1
,1
,2
,3
,5
,8
,13
,21
等。斐波那契数列的前两个数字是:0
和1
。
有两种方法来写斐波那契数列程序:
- 不使用递归实现斐波那契数列
- 使用递归实现斐波那契数列
不使用递归实现斐波那契数列
下面来看看看不使用递归在C++中实现斐波那契数列(fibonacci)程序。
#include <iostream>
using namespace std
int main() {
int n1=0,n2=1,n3,i,number
cout<<"Enter the number of elements: "
cin>>number
cout<<n1<<" "<<n2<<" " //printing 0 and 1
//loop starts from 2 because 0 and 1 are already printed
for(i=2i<number++i)
{
n3=n1+n2
cout<<n3<<" "
n1=n2
n2=n3
}
return 0
}
执行上面代码,得到以下结果 -
Enter the number of elements: 10
0 1 1 2 3 5 8 13 21 34
在C++中使用递归实现斐波那契数列
下面来看看看使用递归在C++中的斐波那契(fibonacci)数列程序。
#include<iostream>
using namespace std
void printFibonacci(int n){
static int n1=0, n2=1, n3
if(n>0){
n3 = n1 + n2
n1 = n2
n2 = n3
cout<<n3<<" "
printFibonacci(n-1)
}
}
int main(){
int n
cout<<"Enter the number of elements: "
cin>>n
cout<<"Fibonacci Series: "
cout<<"0 "<<"1 "
printFibonacci(n-2) //n-2 because 2 numbers are already printed
return 0
}
执行上面代码得到以下结果 -
Enter the number of elements: 15
Fibonacci Series: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377