斐波那契数列
根据公式可以发现输出的值为
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; }