给定n,初始p = 1,2人轮流乘上2-9的数,使p >= n时游戏结束。
类似于Bash博弈(一共m个,每次取1-k个,除第一次外,2人都是1,k,1,k的取)
除开始外,2人的最佳策略应该都是*2 ,*9,*2,*9循环。
#include <iostream>
#include <cstdio>
using namespacestd;
int main()
{
double n;
while (scanf("%lf",&n) !=EOF) {
while(n >18) n /= 18;//n为double
if(n <=9) printf("Stan wins.\n");//若第一个人胜,他第一次会乘 n向上取整 的数
elseprintf("Ollie wins.\n");
}
return 0;
}