13种牌,每种都有可能取0~4 张,枚举求和即可
#include<stdio.h> int main(){ int sum = 0; for(int a = 0;a < 5;a++) for(int b = 0;b < 5;b++) for(int c = 0;c < 5;c++) for(int d = 0;d < 5;d++) for(int e = 0;e < 5;e++) for(int f = 0;f < 5;f++) for(int g = 0;g < 5;g++) //7 for(int aa = 0;aa < 5;aa++) for(int bb = 0;bb < 5;bb++) for(int cc = 0;cc < 5;cc++) for(int dd = 0;dd < 5;dd++) for(int ee = 0;ee < 5;ee++) for(int ff = 0;ff < 5;ff++) // 13种牌,每种都有可能取0~4 张,枚举求和即可 if(a+b+c+d+e+f+g+aa+bb+cc+dd+ee+ff == 13) sum++; printf("%d\n",sum); return 0; }
另外,网上有dfs 做法,以及排列组合求解的,暂时不明白咋做,,挖个坑吧
原文:https://www.cnblogs.com/expedition/p/12235496.html