本文概述
C ++中的斐波那契数列:对于斐波那契数列, 下一个数字是前两个数的和, 例如0、1、1、2、3、5、8、13、21等。斐波那契数列的前两个数为0和1。
编写fibonacci系列程序的方法有两种:
- 斐波那契数列, 无递归
- 斐波那契数列使用递归
无需递归的C ++ Fibonaccci系列
让我们看一下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
for(i=2;i<number;++i) //loop starts from 2 because 0 and 1 are already printed
{
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
Fibonnaci系列在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
评论前必须登录!
注册