发现一个数字游戏,大家来想想获胜策略
- ursace有6堆石子,每堆有随机的1~10枚。
游戏者两名,轮流拿石子,每次拿一堆中的1~5枚,直至这一堆石子的数量为0。
谁拿走最后一堆的最后一枚石子即获胜。
先拿的有必胜策略没?另外游戏可以扩展,每次拿走的数量上限可设置为3至10。 - DREAMED第一种应该没办法必赢吧,限制条件还不够多。
猜的 - worenimamai小学奥数好像算过
- partager这个好像叫做 nim game,有通解的 iOS fly ~
- Gameparkwing博弈论,高大上,不懂。
- helloeinkMARK.
- partager记忆中好像要转换到2进制来做 iOS fly ~
- pc79内容这个我们喝酒的时候研究过,总数不能给对方留双数还是单数来着,忘记了
- ursace
- test110最后留6个,次最后留12个
- hhp1127没有1~5限制的解法是: 把每一堆的石子数换成二进制,必胜的状态是让这些二进制数的每一位都有偶数个1(比如: 11,01, 10 这三个二进制数就满足,因为每一位都有两个1),保证这种状态,不管对方如何取你下一次取都能回到这种状态,直到你取完
有1~5限制应该简单把上面方法推广一下就行 - DREAMED第一种应该没办法必赢吧,限制条件还不够多。
猜的 - DREAMED楼主还来吗。
利用几天的蹲厕时间想了一下,答案应该是这样吧:
假设这六堆石头中,每堆的石头数为1或7的堆数为 N,每堆的石头数为6的堆数为M,则
1.若N+M=6,且N与M均不为奇数,则先走的必输。
2.若N与M不满足以上的条件,先走的可以必胜。
大家觉得是吗 - ursace假设的部分,为什么是1或6和7?
- DREAMED说的是每次只能取最多5个的情况。这种条件下,面对石头数为1或7的石堆,先手者在该石堆取完必然丧失先手权。面对石头数为6的则正好相反。而石堆中石头数为其它的,不会带来这种必然结果。
- ursace不是1或7和6啊,而是1~10任意数量啊!
- zhuxufeng第1堆,A先拿的拿3个,无论对方B拿N个,A再拿10-3-N-1=6-N个,保证最后一个B拿
2-5堆重复第一推的策略,第五堆的最后一个B拿
第6堆,A拿4个,无论B拿几(1-5之间)个,剩下的A全部拿走
上面是每堆都是10个的策略。
随机数据的话,还要重新考虑。 - 数学·糙求证b=0
- DREAMED我知道是1至10的随机数,以上说的是随机数里出现1或7,以及6的情况
- stevecai想了想,约束条件确实不够
1,谁先
2,是否能每局重复
iOS fly ~ - ursace不过这样很局限了,你可以用你的理论试试和电脑玩玩看
- ursace别说必赢了,我和电脑玩了很多盘,一回没赢过……你试试看,地址在10楼
- DREAMED感觉我的意思可能没表达好,再整理一下:
六堆石头,每堆是1~10的随机数,就是共有6个随机数。假设这6个随机数中有M个6,a个1,b个7,令N=a+b,则很显然,M和N的值为0~6的任何数,根据这两者的数值,不用操作,就已经知道先手的人是必输还是必胜了:
1.若M+N=6,且两者均非奇数,则先手必输。
2.以上之外的任何情况,先手必胜。
不知道这样表达清楚没有? - DREAMED18楼的朋友只列举了一种情况,这时NM均为零,所以是必胜的
- yululee有策略,先拿的必胜。只要自己拿到第N-1枚就行,为了拿到N-1必须拿到N-7,以此类推。HiPDA
- DREAMED楼主的石堆里石头是随机的。比如最简单的,六堆都是每堆一个石头,先手怎么必胜?
- 百慕大的海贼算了半天,最后发现前五局在对弈,每局输赢只和是不是六枚与先后手有关系,前面存在要赢和故意输的问题,只要做到第五局输赢,真特么看运气,算了快一个小时,这么大晚上我也是醉了,上一张演算草纸,谁能算出来告诉我方法,我是不行了,数学当年最高学了一年高数,高级方法不会,低级方法一个个来也不知道这六堆有几堆是六枚,这么多程序员你弄个算法写个程序跑跑啊!!!跪了
HiPDA
- ursace这次看明白了。你用你的方法试过没有
- ursace给你跪了,游戏在10楼,你试试呗
- DREAMED前几天只有手机上网,玩不了今天用电脑打开玩第一局,玩到关键时候,眼看就要赢了,网页忽然打不开了,怎么刷新都不行