蓝桥杯 牌型种数(枚举)


牌型种数

小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。
这时,小明脑子里突然冒出一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?

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

思路: 13重循环枚举

 1 #include <iostream>  
 2 #include <string>  
 3 #include <set>
 4 #include <vector>  
 5 #include <algorithm>  
 6 
 7 using namespace std;
 8 
 9 int main()
10 {
11     int a[13];
12     int cnt = 0;
13     for (a[0] = 0; a[0] <= 4; a[0]++)
14         for (a[1] = 0; a[1] <= 4; a[1]++)
15             for (a[2] = 0; a[2] <= 4; a[2]++)
16                 for (a[3] = 0; a[3] <= 4; a[3]++)
17                     for (a[4] = 0; a[4] <= 4; a[4]++)
18                         for (a[5] = 0; a[5] <= 4; a[5]++)
19                             for (a[6] = 0; a[6] <= 4; a[6]++)
20                                 for (a[7] = 0; a[7] <= 4; a[7]++)
21                                     for (a[8] = 0; a[8] <= 4; a[8]++)
22                                         for (a[9] = 0; a[9] <= 4; a[9]++)
23                                             for (a[10] = 0; a[10] <= 4; a[10]++)
24                                                 for (a[11] = 0; a[11] <= 4; a[11]++)
25                                                     for (a[12] = 0; a[12] <= 4; a[12]++)
26                                                         if (a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7] + a[8] + a[9] + a[10] + a[11] + a[12] == 13)
27                                                             cnt++;
28 
29     cout << cnt << endl;
30 
31     return 0;
32 }

答案: 3598180

原文地址:https://www.cnblogs.com/FengZeng666/p/10462095.html