方法:
通过找规律可以发现斐波拉契数列为必败点。
PS: 自己算结果的时候算出了几次, 后面慢慢算才看出这个规律。。
代码:
#include <cstdio>
#include <cstring>
#include <climits>
__int64 F[50];
int main()
{
__int64 max= INT_MAX;
F[1]= 2, F[2]= 3;
int tot= 2;
while(F[tot]< max)
{
F[tot+1]= F[tot] + F[tot-1];
tot++;
}
int n;
while(scanf("%d",&n)!=EOF && n)
{
int f= 1;
for(int i= 1; i<= tot; i++)
if(F[i]== n)
f= 0;
if(f)
printf("First win\n");
else
printf("Second win\n");
}
return 0;
}