杭电1517
2015-08-17 19:59
183 查看
上链接:杭电1517
题目大意:
两个人玩游戏,给定一个数n,从1开始轮流对该数累乘(乘数在2-9),谁使这个数先大于n,谁就赢
这个题是一个博弈论的题目,通过分析则可以得出结论:n是2-9,Stan赢;n在10-18,Olie赢。则将n不断的除以18直到其不足18,然后遵循以上规律
贴代码:
#include <iostream>
using namespace std;
int main()
{
double n;
while(cin>>n)
{
while(n>18)
n=n/18;
if(n<=9)
cout<<"Stan wins."<<endl;
else
cout<<"Ollie wins."<<endl;
}
return 0;
}
题目大意:
两个人玩游戏,给定一个数n,从1开始轮流对该数累乘(乘数在2-9),谁使这个数先大于n,谁就赢
这个题是一个博弈论的题目,通过分析则可以得出结论:n是2-9,Stan赢;n在10-18,Olie赢。则将n不断的除以18直到其不足18,然后遵循以上规律
贴代码:
#include <iostream>
using namespace std;
int main()
{
double n;
while(cin>>n)
{
while(n>18)
n=n/18;
if(n<=9)
cout<<"Stan wins."<<endl;
else
cout<<"Ollie wins."<<endl;
}
return 0;
}