试题 历届真题 Fibonacci 数列与黄金分割【第十届】【省赛】【研究生组】
资源限制
时间限制:1.0s 内存限制:256.0MB
当输入的数值大于45(也可能更小我没试),之后的答案都是一样的。因为f[ n ]/ f[ n+1] 收敛于黄金比,有考研题的味道了
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
if(n>45)
{
cout<<"0.61803399"<<endl;
return 0;
}
int f[50];
f[1]=1;
f[2]=1;
for(int i=3;i<50;i++)
{
f[i]=f[i-1]+f[i-2];
}
printf("%0.8lf",(f[n]*1.0)/f[n+1]*1.0);
return 0;
}