2015藍橋杯省賽javaA組-----牌型種數(填空)

C.&H.發表於2020-10-11

 



public class TestOne {
	/*
	 * 方法:逐一考慮每一種牌出現的次數
	 *   
	 * */
	static int ans=0;
	public static void main(String[] args) {
		
		f(0,0);//從第一種牌開始遍歷 f(當前牌型,已獲取的牌數)
		System.out.println(ans);
	}
	
	/*
	 * k:當前的牌型
	 * count:已獲取的牌數
	 * */
	private static void f(int k, int count) {
		//1.牌型大於13,或者 以獲取的牌數大於13
		if(k>13 || count>13) return;
		
		//2.當前牌型為第13種,並且已獲取了13張牌
		if(k==13 && count==13) {
			ans++; //可能的牌型組合+1
			return;
		}
		
		//3.對可能選取當前牌型的數目進行遍歷
		for(int i=0;i<5;i++) {
			f(k+1,count+i);//選取了i張  第k種牌型。接著遞迴呼叫第k+1種牌型 
		}
	}
	
}

答案:

相關文章