题目
牌型种数
思路分析
递归进行实现,弄好终止条件,牌的数目等于13
代码实现
package com.atguigu.lanqiao;public class Main { // 简单枚举private static int ans;public static void main(String[] args) {f(0, 0);System.out.println(ans);}// 13堆牌, 每堆4个, 每堆可选0~4个, 只要牌的总数为13即可// k: 哪种牌; cnt: 总共分配了几张牌private static void f(int k, int cnt) {if (k > 13 || cnt > 13)return;if (k == 13 && cnt == 13) {ans++;return;}// cnt:每一种牌出现的次数, cnt逐步上升// cnt==13, 牌型种数+1, 返回for (int i = 0; i < 5; i++) {f(k + 1, cnt + i);}}}
答案
3598180