A multiplication game

A multiplication game

时间: 1ms        内存:64M

描述:

Stan and Ollie play the game of multiplication by multiplying an integer p by one of the numbers 2 to 9. Stan always starts with p = 1, does his multiplication, then Ollie multiplies the number, then Stan, and so on. Before a game starts, they draw an integer 1 < n < 4, 294, 967, 295 and the winner is whoever reaches p>=n first.

输入:

Each input line contains a single integer n.

输出:

For each line of input, output one line - either
Stan wins.

or
Ollie wins.

assuming that both of them play perfectly.

示例输入:

162
17
34012226

示例输出:

Stan wins.
Ollie wins.
Stan wins.

提示:

参考答案(内存最优[748]):

#include"stdio.h"
int main()
{
	int n,p;
	while(scanf("%d",&n)!=EOF)
	{
		p=1;
		while(p<n)
		{
			p*=9;
			if(p>=n)
			{
				printf("Stan wins.\n");
				break;
			}
			p*=2;
			if(p>=n)
			{ 
				printf("Ollie wins.\n");
				break;
			}
		}
	}
	return 0;
}

参考答案(时间最优[0]):

#include <iostream>
using namespace std;
int main()
{
    double n;
    while(cin>>n)
    {
        while(n > 18)
            n/=18;
        if(n <= 9)cout << "Stan wins." << endl;
        else cout << "Ollie wins." << endl;
    }
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注