这题关键是要用数组来存放数据,用递归的话要堆栈溢出
#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;
}