斐波那契數爲:
f[1]=1;
f[2]=1;
for(int i=3;i<=n;i++)
{
f[i]=f[i-1]+f[i-2];
}
判斷一個數是不是斐波那契數的代碼:
int fab(int n)
{
if(n==1)
return 1;
if(n==2)
return 1;
if(n>2)
return fab(n-1)+fab(n-2);
}
int isfab(int m)
{
int result=0;
for(int i=0; fab(i)<m; i++)
{
if(fab(i+1)==m)
{
result=1;
break;
}
else
result=0;
}
return result;
}
int main()
{
int n;
scanf("%d",&n);
if(isfab(n)==1)
{
printf("YES\n");
}
else
printf("NO\n");
return 0;
}