发现一个数字游戏,大家来想想获胜策略

  • u
    ursace
    有6堆石子,每堆有随机的1~10枚。
    游戏者两名,轮流拿石子,每次拿一堆中的1~5枚,直至这一堆石子的数量为0。
    谁拿走最后一堆的最后一枚石子即获胜。

    先拿的有必胜策略没?另外游戏可以扩展,每次拿走的数量上限可设置为3至10。
  • D
    DREAMED
    第一种应该没办法必赢吧,限制条件还不够多。
    猜的
  • w
    worenimamai
    小学奥数好像算过
  • p
    partager
    这个好像叫做 nim game,有通解的 iOS fly ~
  • G
    Gameparkwing
    博弈论,高大上,不懂。
  • h
    helloeink
    MARK.
  • p
    partager
    记忆中好像要转换到2进制来做 iOS fly ~
  • p
    pc79
    内容这个我们喝酒的时候研究过,总数不能给对方留双数还是单数来着,忘记了
  • u
    ursace
    忘了给游戏的地址,大家都来试试
    http://www.associatesoft.com/BrainGame.aspx
  • t
    test110
    最后留6个,次最后留12个
  • h
    hhp1127
    没有1~5限制的解法是: 把每一堆的石子数换成二进制,必胜的状态是让这些二进制数的每一位都有偶数个1(比如: 11,01, 10 这三个二进制数就满足,因为每一位都有两个1),保证这种状态,不管对方如何取你下一次取都能回到这种状态,直到你取完
    有1~5限制应该简单把上面方法推广一下就行
  • D
    DREAMED
    第一种应该没办法必赢吧,限制条件还不够多。
    猜的
  • D
    DREAMED
    楼主还来吗。
    利用几天的蹲厕时间想了一下,答案应该是这样吧:
    假设这六堆石头中,每堆的石头数为1或7的堆数为 N,每堆的石头数为6的堆数为M,则
    1.若N+M=6,且N与M均不为奇数,则先走的必输。
    2.若N与M不满足以上的条件,先走的可以必胜。

    大家觉得是吗
  • u
    ursace
    假设的部分,为什么是1或6和7?
  • D
    DREAMED
    说的是每次只能取最多5个的情况。这种条件下,面对石头数为1或7的石堆,先手者在该石堆取完必然丧失先手权。面对石头数为6的则正好相反。而石堆中石头数为其它的,不会带来这种必然结果。
  • u
    ursace
    不是1或7和6啊,而是1~10任意数量啊!
  • z
    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




    yydc.GIF
  • D
    DREAMED
    我知道是1至10的随机数,以上说的是随机数里出现1或7,以及6的情况
  • s
    stevecai
    想了想,约束条件确实不够
    1,谁先
    2,是否能每局重复
    iOS fly ~
  • u
    ursace
    不过这样很局限了,你可以用你的理论试试和电脑玩玩看
  • u
    ursace
    别说必赢了,我和电脑玩了很多盘,一回没赢过……你试试看,地址在10楼
  • D
    DREAMED
    感觉我的意思可能没表达好,再整理一下:
    六堆石头,每堆是1~10的随机数,就是共有6个随机数。假设这6个随机数中有M个6,a个1,b个7,令N=a+b,则很显然,M和N的值为0~6的任何数,根据这两者的数值,不用操作,就已经知道先手的人是必输还是必胜了:
    1.若M+N=6,且两者均非奇数,则先手必输。
    2.以上之外的任何情况,先手必胜。

    不知道这样表达清楚没有?
  • D
    DREAMED
    18楼的朋友只列举了一种情况,这时NM均为零,所以是必胜的
  • y
    yululee
    有策略,先拿的必胜。只要自己拿到第N-1枚就行,为了拿到N-1必须拿到N-7,以此类推。HiPDA
  • D
    DREAMED
    楼主的石堆里石头是随机的。比如最简单的,六堆都是每堆一个石头,先手怎么必胜?
  • 百慕大的海贼
    算了半天,最后发现前五局在对弈,每局输赢只和是不是六枚与先后手有关系,前面存在要赢和故意输的问题,只要做到第五局输赢,真特么看运气,算了快一个小时,这么大晚上我也是醉了,上一张演算草纸,谁能算出来告诉我方法,我是不行了,数学当年最高学了一年高数,高级方法不会,低级方法一个个来也不知道这六堆有几堆是六枚,这么多程序员你弄个算法写个程序跑跑啊!!!跪了HiPDA_UPLOAD.jpgHiPDA
  • u
    ursace
    这次看明白了。你用你的方法试过没有
  • u
    ursace
    给你跪了,游戏在10楼,你试试呗
  • D
    DREAMED
    前几天只有手机上网,玩不了今天用电脑打开玩第一局,玩到关键时候,眼看就要赢了,网页忽然打不开了,怎么刷新都不行

    新建位图图像.jpg