糖果游戏(齐大第十一届校赛)

    齐大第十一届校赛第一题

时间限制:1000ms     内存限制:65535KB

题目描述:

Cola 和 koala 是来自某市附二中的学生。一天,他们因为帮助网管王叔叔修好了机房的电脑而得到了许多糖果。于是他们决定要用这些糖果玩一场游戏。

游戏的内容是这样的:
他们把糖果放在一堆,由 Cola 先手,现在两人轮流依次拿走若干糖果。
为了方便描述,现在定义某人单次拿走的糖果数量为 y ,剩余糖果数量为 x。

为了防止出现僵局,每人每轮不能够不拿糖果,也就是说,每人每轮最少要拿 1 颗糖果,即 1≤y 。
每人每轮也不能拿走剩下的全部糖果,否则会显得很贪婪,即 y<x。
为了增强趣味性,也避免Cola只给Koala留下一块糖果,他们要求 y 必须是当前剩余糖果数量的约数,即:x%y==0。

就这样,如果轮到谁无法进行满足上述要求的操作,则视为失败。

学习了程序设计的你对此也很感兴趣,你想知道,在假设他们两个人足够聪明的情况下, Cola 是否会获胜。
于是你设计了一个程序,如果 Cola 能够获胜,则输出true,否则输出false。

输入格式:

     一行,一个正整数x,表示初始糖果的数量。(1≤x≤1012)

输出格式:

    一行,一个字符串"true" 或 "false"。注意大小写,不带引号

代码实现:

#include <iostream>
using namespace std;
int main()
{
	long long n;
	cin>>n;
	if(n%2==0)
	{
		cout<<"true"<<endl; 
	}
	else
	    cout<<"false"<<endl;
	return 0;
} 

                    本题算是简单的博弈论,可以通过列举得出本体答案逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值