好吧 ,n的范围那么大,肯定fn早就会超过long long的范围,但是n大于某个值时,结果就不会变了。
#include<bits/stdc++.h>
using namespace std;
void solve(int n)
{
if(n>100){
cout<<"0.61803399";
return;
}
double f1=1,f2=1,cur=1;
for(int i=2;i<=n;i++){
cur=f1+f2;
f1=f2,f2=cur;
}
printf("%.8f",f1/cur);
}
int main()
{
int n;
cin>>n;
solve(n);
return 0;
}