天天看点

蓝桥杯-牌型种数-典型的递归

牌型种数

小明被劫持到X赌城,被迫与其他3人玩牌。

一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。

这时,小明脑子里突然冒出一个问题:

如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?

请填写该整数,不要填写任何多余的内容或说明文字。

典型的递归,十三张牌,我不管,反正A到K这十三个系列给我牌,每个系列可能给我0到4张,然后踢出去交给下一个系列。一直踢皮球,到了完了最后的系列K,计个数。return回去。结果:3598180。

package lastReal;
public class cart {
    static int a[]={,,,,,,,,,,,,};
    static int cnt=;
    public static void main(String[] args) {
        f(a,,);
        System.out.println(cnt);
    }
    static  void f(int[] a,int k,int n){
        if(k==){
            if(n==){
                cnt++;
            }
            return;
        }
        for(int i=;i<=;i++){
            f(a,k+,n-i);
        }
    }
}