为什么这道题用递推做时数组要用double?
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[10000];
cin>>n;
a[1]=1;
a[2]=1;
for(int i=3;i<=n;i++) a[i]=a[i-1]+a[i-2];
cout<<a[n]<<".00";
}
这样过不了
#include<bits/stdc++.h>
using namespace std;
int main()
{
double n,a[50];
cin>>n;
a[0]=0;
a[1]=1;
a[2]=1;
for(int i=3;i<=n;i++) a[i]=a[i-1]+a[i-2];
printf("%0.2lf",f[n]);
}
这样又可以?