n为斐波那契数时,先手败,推断方法见算法讲堂
#include<bits/stdc++.h> using namespace std; int main() { int fib[50],i,n,ct; fib[0]=2;fib[1]=3; for(i=2;i<50;i++) fib[i]=fib[i-1]+fib[i-2]; while(scanf("%d",&n)!=EOF) { ct=0; if(n==0) break; for(i=0;i<50;i++) { if(fib[i]==n) { ct=1;break; } } if(ct==0) printf("First win\n"); else if(ct==1) printf("Second win\n"); } }