看了无数篇题解啊...总结一下,只要n(在所给范围内)是斐波那契数就输出second win,还想深究知道个所以然的可以戳下面链接
#include<iostream>
#include<cstdio>
using namespace std;
int fib[50];
int main(){
fib[0]=1;fib[1]=2;
for(int i=2;i<45;i++)
fib[i]=fib[i-1]+fib[i-2];
int n;
while(scanf("%d",&n)!=EOF&&n){
int flag =0;
int i=0;
for(i=0;i<45;i++)
{
if(n == fib[i])//如果在所给的范围内,n是斐波那契数,那就是second win
{
cout<<"Second win"<<endl;
flag = 1;
break;
}
}
if(!flag)
cout<<"First win"<<endl;
}
return 0;
}