判斷一個數是不是斐波那契數(C語言)

斐波那契數爲:

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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章