标签:
递推公式以及寻找最高位
#include<stdio.h>
#include<math.h>
#define q (1+sqrt(5))/2.0
int main()
{
int f[20];
f[0]=0;
f[1]=1;
for(int i=2;i<=30;i++)
{
f[i]=f[i-1]+f[i-2];
}
int m;
while(~scanf("%d",&m))
{
if(m<=20) printf("%d\n",f[m]);
else
{
double fm=-0.5*log10(5)+m*log10(q);
double ans=fm-(int)fm;
int ans1=pow(10,ans)*1000;
printf("%d\n",ans1);
}
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/liuhanx1/p/5391728.html