Posted on 2012-01-16 13:59
C小加 閱讀(186)
評論(0) 編輯 收藏 引用 所屬分類:
解題報告
斐波那契nim問題,如果數量正好是一個斐波那契數的話,先手肯定會輸。
#include<iostream>
#include<cstdio>
using namespace std;
int main ()
{
long long f[1001];
int i;
long long n;
f[0]=1;
f[1]=1;
for(i=2;i<1001;i++)
{
f[i]=f[i-1]+f[i-2];
}
while(scanf("%lld",&n)!=EOF)
{
for(i=0;i<1001;i++)
{
if(f[i]==n)
{
printf("No\n");
break;
}
if(f[i]>n)
{
printf("Yes\n");
break;
}
}
}
return 0;
}