为啥我这个是错的? import java.util.Scanner; 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) * factorial(N) * factorial(K)); } public static int f(int N, int K){ if(N < K) return 0; if(K == 0)return 1; //从后往前排 return f(N - 1, K) + f(N, K - 1); } public static int factorial(int n){ if(n == 1)return 1; return n * factorial(n - 1); } }
坚果吞噬者 2023-10-10 18:07:13 |
你n的范围考虑不全,当n等于0的时候会越界