#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
double func(double a,double n){
double s=a;
int i;
for(i=1;i<n;i++){
s*=a;
}
return s;
}
int main(){
int i,j,n;
double sum1,sum2,Fn;
scanf("%d",&n);
Fn=(func((1+sqrt(5))/2,n)-func((1-sqrt(5))/2,n))/sqrt(5);
if(n==0){
Fn=0;
}
printf("%0.2lf\n",Fn);
return 0;
}
注意:由于n的取值为0-48,所以n可以为0,第三组数据一直不过。。。。
数据类型尽量大一些,小的话也是一直wrong!!!