天天看點

藍橋杯牌型種數

題目

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

一副撲克牌(去掉大小王牌,共52張),均勻發給4個人,每個人13張。

這時,小明腦子裡突然冒出一個問題:

如果不考慮花色,隻考慮點數,也不考慮自己得到的牌的先後順序,自己手裡能拿到的初始牌型組合一共有多少種呢?

請填寫該整數,不要填寫任何多餘的内容或說明文字。

這題暴力for循環也可以做,但是遞歸簡單點,這是從52張牌裡取出13張。

先把52張牌分為13堆(A-K),每隊四張牌,随意取,如果到最後能取到13張,說明符合條件

答案:3598180

代碼如下:

static int sum = 0;
	public static void main(String[] args) {
		s(1,13);
		System.out.println(sum);
	}
	public static void s(int i,int code){
		if(code<0) return;
		if(i==13) {
			if(code<=4)
				sum++;
			return;
		}
		i++;
		for (int j = 0; j <= 4; j++) {
			s(i,code-j);
		}
	}
           

歡迎指正~

繼續閱讀