欢迎光临散文网 会员登陆 & 注册

我来证明你玩过的游戏《1+1》有解

2021-10-17 10:11 作者:yh--123  | 我要投稿

首先是游戏规则:

玩游戏的有两个人,各自伸出两只手。双方轮流把自己一只手上的数加上对方一只手上的数,若数字大于10,就撤手,撤去的手不能被对方作为加数。先撤去两只手的为胜利方。

这项工作对人来说太耗脑,所以我决定有计算机解决

设计一个函数,它有4个参数。先代入先手的左手和右手,再代入后手的。若胜利返回1,失败返回0。

1、如果有一方两只手上的数都大于10,即为该方胜。

2、如果双方都有一只手撤去。这个不难判断。

(先手的数加上后手的数之后,先手成为后手,后手成为先手。判断是否胜利,并返回反值。)

3、先手两手都在,后手撤去一手。

分两种情况

(1)先手左手加后手的数

(2)先手右手加后手的数

**存在一个可以使自己胜利,就是胜利方,如果任意的一个都不能使自己胜利,就是失败方。**

(为了节省程序运行时间,我故意把两个分开判断,而不是用逻辑与和逻辑或)

4、先手撤去1手,后手两手都在。

分两种情况。

5、四只手都在。

分四种情况。


函数设计完毕,在输入1 1 1 1的时候,程序返回了0,即为后手占据优势。

输入1 1 1 2,返回1。

输入 1 2 1 2,返回 1。

输入 1 2 1 3,返回0。

所以后手要想胜利,必须要把自己变为 1 3。

而无论是输入1 3 2 2、 1 3 1 3 、1 3 4 2 、1 3 1 5,程序都返回1。

剩下的我懒得挨个代入了。

我来证明你玩过的游戏《1+1》有解的评论 (共 条)

分享到微博请遵守国家法律