这题关键是要用数组来存放数据,用递归的话要堆栈溢出 #include<iostream> using namespace std; int a[46]; int main() { int n; cin>>n; if(n<3) { a[0]=a[1]=1; } for(int i=2;i<n;i++) { a[0]=a[1]=1; a[i]=a[i-1]+a[i-2]; } cout<<a[n-1]; return 0; }
这题关键是要用数组来存放数据,用递归的话要堆栈溢出 #include<iostream> using namespace std; int a[46]; int main() { int n; cin>>n; if(n<3) { a[0]=a[1]=1; } for(int i=2;i<n;i++) { a[0]=a[1]=1; a[i]=a[i-1]+a[i-2]; } cout<<a[n-1]; return 0; }