题目描述:
有M个小孩到公园玩,门票是1元。其中N个小孩带的钱为1元,K个小孩带的钱为2元。售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱。注意:两个拿一元零钱的小孩,他们的位置互换,也算是一种新的排法。(M<=10)
代码:
package lanqiao;import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int m = sc.nextInt();int n = sc.nextInt();int k = sc.nextInt();System.out.println(f(n,k) * jc(n) *jc(k));}static int f(int a,int b){if(b > a) return 0;if(b == 0) return 1;return f(a - 1,b) + f(a,b - 1);}static int jc(int n){int sum = 1;for(int i = 1;i <= n;i ++){sum *= i;}return sum;}
}