题目
小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
请填写该整数,不要填写任何多余的内容或说明文字。
分析
一共是记号为A,2,3,4,5,6,7,8,9,10,J,Q,k的十三个元素,每个元素的情况可能是0,1,2,3,4。这十三个元素的和为13即可。
答案
3598180
代码
利用递归
public class Seven {
static int sum = 0; // 记录手中的牌的数目
static int ans = 0; // 记录结果
private static void cal(int n){
if (sum > 13) return;
if (n==14){ // 13种牌型以及全部搜索
if (sum == 13){
ans++;
return;
}
}else{
for(int i = 0; i<5; i++){
sum+=i;
cal(n+1);
sum-=i; // 还原
}
}
}
public static void main(String[] args) {
cal(1); // 从第一个牌搜索
System.out.println(ans);
}
}