java设计一个方法Combination(),给定两个非负整数m, n(m>n),计算C_n^m的值
时间: 2023-12-10 15:40:21 浏览: 82
输入两个非负整数m,n(n>=m) 输出m,n区间的所有平方数之和 例如: 输入: 4,9 输出: 13
可以使用递归的方式实现组合数的计算,具体的实现如下:
```
public static int Combination(int m, int n) {
if (n == 0 || n == m) {
return 1;
} else {
return Combination(m - 1, n - 1) + Combination(m - 1, n);
}
}
```
这里的思路是,利用组合数的递推公式,将问题转换为更小规模的子问题。具体来说,C_n^m可以表示为C_(m-1)^(n-1) + C_(m-1)^n,这样就可以递归地求解组合数。当n为0或者n等于m时,组合数的值为1。
使用该方法,可以很方便地计算出给定两个非负整数m和n的组合数C_n^m的值。
阅读全文