各位都听过“诈金花”吧?没听过也不要紧,且听小馆解释:“诈金花”是一种民间的扑克游戏,有“豹子”,“同花顺”,“金花”,“顺子”,“对子”和“杂牌”6种牌型,牌型大小如上文所述。(PS:游戏可以,但请远离*博!)
在这里小馆只细说前两大的“豹子”和“同花顺”,“豹子”是相同的3张牌,例如红桃3,方片3和黑桃3这组牌;“同花顺”顾名思义就是花色相同的顺子,例如红桃6,红桃7和红桃8这组牌。
在这里小馆带大家计算一下“豹子”和“同花顺”有多少种牌型可能:
“豹子”:首先我们可以肯定“豹子”就是4张同牌缺了1个,而四张同牌的情况有4个A,4个2,4个3……4个K,一共13种可能,而每一种可能都会产生4种“豹子”(缺红桃,缺方片,缺草花,缺黑桃四种),一共就是13*4=52种牌型。
“同花顺”(注意,2AK不算“同花顺”):很明显“同花顺”是除了四个2以外的所有牌都能做出的,例如黑桃A有黑桃A,黑桃K,黑桃Q;红桃3有红桃3,红桃2,红桃A。那么总共就有52-4=48种牌型。
但是注意了!“豹子”是比“同花顺”要大的,但是从上文我们能够看出“豹子”的牌型比“同花顺”要多!那这是为什么呢?
一种解释是“诈金花”来源于5张牌的“锄大D”,“锄大D”中的“类豹子”的牌型是比“类同花顺”少的。但是问题来了:“锄大D”中的“同花顺”是比类似于“豹子”的“四个带单张”要大的!这就很尴尬了……
但是本着“实践是检验整理的 标准”这个原则,我们还是来算算各种牌型:
“同花顺”:顺着“诈金花”的思路,应该很明显是52-16=36种;(排除A,2,3,4)
“四个带单张”:“四个”的牌型是13种,“单张”的牌型是52-4=48种(排除上面的4个),所以总共有13*48=种。
这里看起来好像没有任何问题,但我们用直觉想一想:在“诈金花”中,小A摸到了2张A和1张K,那么此时他还用担心别人摸到A的“豹子”吗?很明显不用,但是小A还会忌惮别人摸没摸到带有A的“同花顺”。
那我们就来打个程序,在线给自己发牌,来验证我们的想法:
#includebits/stdc++.husingnamespacestd;intans1,ans2,n,t[54],s;structit{inthua,xh;//我自己的牌(hua是花色,xh是牌号)}me[4];//三张牌intmain(){srand((unsigned)time(NULL));cinn;//游戏局数for(inti=0;in;i++)//重复游戏!{memset(t,0,sizeof(t));//清空标记,从头再来for(intk=0;k4;k++)//别忘了这是4人游戏for(intj=0;j3;j++)//每人三张牌{//但只记你的s=rand()%54;//随机发牌(序号=花色*4+牌号)while(t[s]==1)//万一重复了呢?s=rand()%54;//那就继续发!t[s]=1;//标记我在这me[j].hua=s/13;//确定花色me[j].xh=s%13;//确定牌号}if((me[1].xh==me[2].xh)(me[2].xh==me[3].xh))//判断“豹子”ans1++;//计数if((me[1].hua==me[2].hua)(me[2].hua==me[3].hua)(max(me[1].xh,max(me[2].xh,me[3].xh))-min(me[1].xh,min(me[2].xh,me[3].xh))==2)(me[1].xh!=me[2].xh)(me[2].xh!=me[3].xh)(me[3].xh!=me[1].xh))//判断“同花顺”ans2++;//同26行}cout"豹子:"ans1endl;//给我们答案cout"同花顺:"ans2endl;//同30行}
当我们来10次的时候,一切都很平静:
次呢?这可以接受~~
0次呢?啊呀?!
00次的时候这么神奇的吗?
综上,我们可以得出结论,“豹子”确实比“同花顺”要普遍。(当然可以说我们不能太相信直觉)
(PS1:诈金花一共有种牌型,那么理论上说00次游戏就能找到所有牌型)
(PS2:上文代码并没有包含AKQ的情况,包含的代码小馆还没搞出来)
看到这里,很多人肯定会不明白上面的那些算式是什么,小馆这就给你们一一道来(前面那个不是破折号!):
1、计算“豹子”的牌型那里:此处使用了“乘法原理”,简单来说就是若一个问题能够分成多个子问题,且每个子问题都是不同阶段(例如穿衣服中先挑上衣,再挑裤子, 挑鞋),那么此问题的方案数就是这些子问题的方案数的乘积。例:小张有5件上衣,7件裤子,3双鞋,那么小张的穿衣方式就为5*7*3=种;
2、计算“诈金花”的总牌型那里:这里的,意为从n个物品中选出m个物品。例:全班有10个人,从中选取3个人值日,则有种选法。还有一个,意为从n个物品中选出m个去站队。例:5个人要照相,有7个空位可以站,则有种站法。而这两个东西就叫做——排列组合(这是破折号)。
(theend)
PS:还是那句话,*博为违法犯罪行为,请不要进行,更不要运用数学知识去干偷鸡摸狗的事情!
预览时标签不可点
转载请注明:http://www.baozia.com/nrzz/5964.html