0
已解决
邹正洋
中级守护
中级守护
6645 计算
经验值:1200 时间限制:1000毫秒 内存限制:128MB
题目描述 Description
现给出一个整数 n(n>=0),求出下式结果,保留两位小数输出:
输入描述 Input Description
输入一个数:n (n>=0)
输出描述 Output Description
输出运行结果:Fn
样例输入 Sample Input
5
样例输出 Sample Output
5.00
数据范围及提示 Data Size & Hint
数据范围:
0<= n <=48
代码:
#include<bits/stdc++.h>
using namespace std;
double ans1,ans2,ans3;
double xf(double x,int n){
double cnt=x;
//cout<<x<<' '<<n<<endl;
for(int i=2;i<=n;i++){
cnt*=x;
//cout<<cnt<<' ';
}
return cnt;
}
int main(){
int n;
cin>>n;
/*
cout<<sqrt(5)+1<<endl;
cout<<(sqrt(5)+1)/2<<endl;
cout<<1-sqrt(5)<<endl;
cout<<(1-sqrt(5))/2<<endl;
*/
ans3=xf((1+sqrt(5))/2,n);
ans2=xf((1-sqrt(5))/2,n);
ans1=(ans3-ans2)/sqrt(5);
//cout<<ans1<<' '<<ans2<<' '<<ans3<<endl;
printf("%.2f",(ans1*100.0+0.5)/100);
return 0;
}
找错!!!