我來(lái)證明你玩過(guò)的游戲《1+1》有解
首先是游戲規(guī)則:
玩游戲的有兩個(gè)人,各自伸出兩只手。雙方輪流把自己一只手上的數(shù)加上對(duì)方一只手上的數(shù),若數(shù)字大于10,就撤手,撤去的手不能被對(duì)方作為加數(shù)。先撤去兩只手的為勝利方。
這項(xiàng)工作對(duì)人來(lái)說(shuō)太耗腦,所以我決定有計(jì)算機(jī)解決
設(shè)計(jì)一個(gè)函數(shù),它有4個(gè)參數(shù)。先代入先手的左手和右手,再代入后手的。若勝利返回1,失敗返回0。
1、如果有一方兩只手上的數(shù)都大于10,即為該方勝。
2、如果雙方都有一只手撤去。這個(gè)不難判斷。
(先手的數(shù)加上后手的數(shù)之后,先手成為后手,后手成為先手。判斷是否勝利,并返回反值。)
3、先手兩手都在,后手撤去一手。
分兩種情況
(1)先手左手加后手的數(shù)
(2)先手右手加后手的數(shù)
**存在一個(gè)可以使自己勝利,就是勝利方,如果任意的一個(gè)都不能使自己勝利,就是失敗方。**
(為了節(jié)省程序運(yùn)行時(shí)間,我故意把兩個(gè)分開(kāi)判斷,而不是用邏輯與和邏輯或)
4、先手撤去1手,后手兩手都在。
分兩種情況。
5、四只手都在。
分四種情況。
函數(shù)設(shè)計(jì)完畢,在輸入1 1 1 1的時(shí)候,程序返回了0,即為后手占據(jù)優(yōu)勢(shì)。
輸入1 1?1 2,返回1。
輸入 1 2 1 2,返回 1。
輸入 1 2 1 3,返回0。
所以后手要想勝利,必須要把自己變?yōu)?1 3。
而無(wú)論是輸入1 3 2 2、 1 3 1 3 、1 3 4 2 、1 3 1 5,程序都返回1。
剩下的我懶得挨個(gè)代入了。