Posted on 2012-01-16 13:59
C小加 阅读(178)
评论(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;
}