zoukankan      html  css  js  c++  java
  • 取扑克牌的问题

    最近,发现一些题目,关于去扑克牌的,大致是:

    一、15张扑克牌,甲、乙两人轮流取,每次取1~3,谁取走最后一张谁就赢.

    (1)这个游戏规则对于甲、乙两方公平吗?
    (2)是先取者必胜,还是后取者必胜有何致胜秘诀?
    (3)若将上面的15张扑克换成n张(n是不小于4的正整数),情况又如何?

    分析:先取的人,动脑筋即可一定获胜.

    解:

    (1)不公平;

    (2)是先取者赢.

    因为为了要取得最后一根,甲必须最后留下零根火柴给乙,故在最后一步之前的轮取中,甲不能留下1根或2根或3根,否则乙就可以全部取走而获胜.

    如果留下4根,则乙不能全取,则不管乙取几根(1或2或3),甲必能取得所有剩下的火柴而赢了游戏.

    同理,若桌上留有8根火柴让乙去取,则无论乙如何取,甲都可使这一次轮取後留下4根火柴,最后也一定是甲获胜.

    由上分析可知,甲只要使得桌面上的火柴数为4﹑8﹑12﹑16等让乙去取,则甲必稳操胜券.

    因此若原先桌面上的火柴数为15,则甲应取3根.(∵15-3=12)(2分)

    (3)若n是4的倍数,先取者输.若n不是4的倍数,先取者赢.

    二、五十四张扑克牌,两人轮流取,可取1-2张,谁取到最后一张谁就赢,怎么让后一人赢?

    每次取1-2张,如果这次你取得是第x张,那么无论对方说什么你都可以取到第x+3张

    所以谁先取到第2张,就可以让对方赢。

    第2张以后,依次取到(取到的意思就是,无论取1张还是2张,要保证你取的最后一张是你要取到的那一张),2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,51,53

    你取到53以后,对方只能取最后一张了,也就是对方赢了,所以前一个人第一次取2张,之后按照上面的顺序取就行了

    三、54张扑克牌,两个人轮流取,每次可以取1-4张。问第一次去牌的人怎样保证能赢?

    第一个人第一次取4张(余50张);

    接着第二个人取i(i=1,2,3,4)张,则第一个人取(5-i)张。(重复10次过后,则第一个人就一定取到最后一张)

    四、首先拿十五张牌,分为三份每份分别为3张,5张,7张。(只能两个人玩)

      规则每人至少拿一张,最多随便拿,但每次只能在其中的一份中拿,不得拿其它的二份。

      胜:谁拿了最后一张就输了!

    先拿的一定赢。

    从5个里面拿1个出来,变成了347。

    这是必胜的。

    如果出现两队一样的,就拿走另一堆;如果只有两队了,就让两队一样多(>=2);如果出现两队有32或者31,就让结果变成123,这都是必胜的。

    其余的只有346.345.147.247几种情况了。

    分别说明:

    346则变成246。

    345变成145。

    147也变成145。

    247也变成246。

    下面说明145.246的情况。

    对方拿了之后,去掉上面说的两队相同和能拿一次就出现123的情况之外,剩下的也不多了。

    145没有剩余,全是上述情况。

    246只剩下245.146。

    显然对于这两种,你都可以让它变成145。

    于是,无论对方怎么拿都不能逃开面对123或者只有两个相同数量堆(>=2)的局面。

    对于22的局面,必胜的结果不用我说了,之前的目标就是保持着让对手面对22。

    123的局面也是对方不能面对的,无论怎么拿,都会让你给他留下22或者111的情况。

     于是,你就必胜了。

  • 相关阅读:
    FIREDAC操作SQLITE内存数据库
    DELPHI移动端支付宝支付
    DELPHI支付宝支付代码
    DELPHI微信支付代码
    mssql内存表
    Ubuntu下添加开机启动项的2种方法
    docker容器中安装vim
    使用find命令查找Linux中的隐藏文件的方法
    Go语言_RPC_Go语言的RPC
    Mac下export生效
  • 原文地址:https://www.cnblogs.com/qiernonstop/p/3484471.html
Copyright © 2011-2022 走看看