#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int n;cin >> n;
double f,f1,f2;
f1 = (1+sqrt(5))/2;
f2 = (1-sqrt(5))/2;
for(int i = 1;i < n;i++)
{
f1*=(1+sqrt(5))/2;
f2*=(1-sqrt(5))/2;
}
if(n == 0)
cout <<fixed << setprecision(2) << 0.00;
else
{
cout <<fixed << setprecision(2) <<(f1 - f2)/sqrt(5);
}
}
大佬
原来是斐波那契数列,可以使用滚动数组的思想
#include<iostream>
using namespace std;
long long a=1,b=1,c=0;
int n,i;
int main()
{
cin>>n;
for (i=3;i<=n;i++)
{
c=a+b;
a=b;
b=c;
}
cout<<c<<".00";
return 0;
}