100分求魔术纸牌的C++代码

来源:百度知道 编辑:UC知道 时间:2024/06/02 11:30:03
那个魔术是这样的:1.先洗牌(去掉大小王)2.一张一张地取25张牌
3.然后让观众随机抽取3张牌:A,B,C
4.从手中扔掉一些牌:扔牌的张数为13减去牌面点数(其中:j表示11点,Q表示12点)
例如:A牌是9,就从剩下的牌中扔掉4张;
B牌是9就在扔掉4张牌;
C牌是K就扔掉0张;
如果扔掉的牌超过24张(手上的牌)就从上面的25张牌中补足
魔术师把手上的牌叠加到备用的25张牌中
5。再把观众的三张牌加起来(如31)则再从手中扔掉31张牌,然后就知道魔术师手上的第一张牌是什么了!
原理:25+(24-(13-a)-(13-b)-(13-c)-(a+b+c)=10
10就是从下向上数第十张!
要C++的,谢谢,好的话,加分!
如果有问题的话,发邮件到zjh_hui@126.com

数25张牌的时候是正面数的,你记住第15张,这张牌也就是你做到最好想知道的那张牌。
这个魔术我以前也做过好几次,呵呵
主要步骤是这样的:
1.先洗牌(去掉大小王)
2.一张一张地取25张牌 (正面数牌)记住第15张。
3.然后让观众随机抽取3张牌:A,B,C
4.从手中扔掉一些牌:扔牌的张数为13减去牌面点数(其中:j表示11点,Q表示12点)
例如:A牌是9,就从剩下的牌中扔掉4张;
B牌是9就在扔掉4张牌;
C牌是K就扔掉0张;
如果扔掉的牌超过24张(手上的牌)就从上面的25张牌中补足
魔术师把手上的牌叠加到备用的25张牌中
5。再把观众的三张牌加起来(如31)则再从手中扔掉31张牌,然后就知道魔术师手上的第一张牌是什么了!这里你也可以直接预测第32张牌是什么,这样做效果更好!