(蓝桥杯)牌型种数
问题描述 小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序 自己手里能拿到的初始牌型组合一共有多少种呢? 输出 请输出该整数,不要输出任何多余的内容或说明文字。 思路 递归,从A到K选个数,个数选到13时候,总数加一 代码 # include <bits/stdc++.h> using namespace std ; //心得:flag==true 是比较,flag=true 是赋值 注意等号的个数 //递归思想:由于不论顺序,所以假定从A开始选择个数(0~4)直到 K(13) int we = 0 ; //we表示种类数 //n表示每次选择的dian点的牌的数量 //dian表示牌的点数 //sum为13,即牌每个人发13张 void my ( int n , int dian , int sum ) { //cout<<"执行了一次递归"<<endl; sum + = n ; if ( sum == 13 ) { we ++ ; sum = 0 ; return ; } else if ( sum > 13 ) { return ; } if ( dian == 13 ) { return ; } for ( int i