为啥我这个是错的? 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); } }
数列 (C++代码)浏览:664 |
剔除相关数 (C语言代码)浏览:1008 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:604 |
最小公倍数 (C语言代码)浏览:862 |
printf基础练习2 (C语言代码)浏览:305 |
WU-复数求和 (C++代码)浏览:1995 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:819 |
P1000 (C语言代码)浏览:868 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:552 |
1014题解浏览:484 |
坚果吞噬者 2023-10-10 18:07:13 |
你n的范围考虑不全,当n等于0的时候会越界