证明:http://yjq24.blogbus.com/logs/46150651.html
很纠结,一开始推错了,看了解题报告才知道是斐波拉契博弈,不过证明还是有点不太明白,要看证明的点上面的链接,个人感觉写得还不错。。。
ACcode:
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
int a[50]={2,3,5};
for (i=3;i<44;i++) a[i]=a[i-1]+a[i-2];
while (scanf("%d",&n)&&n)
{
i=0;
while (i<44)
{
if (a[i]==n)
{
printf("Second win\n");
break;
}
else if (a[i]>n||i==43)
{
printf("First win\n");
break;
}
i++;
}
}
return 0;
}
本文分享了一个关于斐波拉契数列博弈问题的AC代码,并附上了问题的解题报告链接。通过预计算斐波拉契数列并判断输入数值是否为数列中的元素来确定先手和后手的胜负。
2330

被折叠的 条评论
为什么被折叠?



