斐波那契数列
根据公式可以发现输出的值为
0、1、1、2、3、5、8、13、、、、、
从第三项开始,以后的值是前两个相加的结果
这个思路有很多,
基本循环的方法
#include<iostream>
using namespace std;
int main(){
int a=0, b=1,c=1, n;
cin>>n;
for(int i=1; i<=n; i++)
{
a=b;
b=c;
c=a+b;
}
cout<<c<<endl;
return 0;
}
数组的方法实现
#include<iostream>
using namespace std;
int main()
{
int arr[30],i,n;
cin>>n;
arr[0]=arr[1]=0;
for(i=2; i<n; i++)
{
arr[i] = arr[i-2] + arr[i-1];
}
cout<<arr[i-1];
return 0;
}递归的方法实现
#include<iostream>
using namespace std;
int fun(int n)
{
return (n <3) ? 1 : fun(n-1) + fun(n-2);
}
int main(){
int n ;
cin>>n;
cout<<fun(n);
return;
}
京公网安备 11010502036488号