原创
牌型种数
小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
请填写该整数,不要填写任何多余的内容或说明文字。
枚举:
一副牌可以分成13堆,每一堆4张相同的牌,因为不考虑花色,所以每堆牌有0~4共5种选择,各从13堆牌抽出牌以后
判断抽出的牌张数是否等于13,等于13满足条件牌型总数+1。
public class 牌型总数 {
public static void main(String args[]) {
int total=0; //记录牌型总数
int a[]=new int[13];
for(a[0]=0;a[0]<=4;a[0]++) {
for(a[1]=0;a[1]<=4;a[1]++) {
for(a[2]=0;a[2]<=4;a[2]++) {
for(a[3]=0;a[3]<=4;a[3]++) {
for(a[4]=0;a[4]<=4;a[4]++) {
for(a[5]=0;a[5]<=4;a[5]++) {
for(a[6]=0;a[6]<=4;a[6]++) {
for(a[7]=0;a[7]<=4;a[7]++) {
for(a[8]=0;a[8]<=4;a[8]++) {
for(a[9]=0;a[9]<=4;a[9]++) {
for(a[10]=0;a[10]<=4;a[10]++) {
for(a[11]=0;a[11]<=4;a[11]++) {
for(a[12]=0;a[12]<=4;a[12]++) {
int flag=0;
int i=0;
for(i=0;i<=12;i++) { //判断是不是有13张牌
flag+=a[i];
}
if(flag==13) {
total++;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
System.out.println(total);
}
}
答案:3598180
16:43:44
2018-06-08