用java写一个程序,在n个球中,任意取出m个(不放回), 求有多少种不同取法,不用递归实现
时间: 2024-05-11 20:14:21 浏览: 70
Java实现生成n个不重复的随机数
可以使用组合数公式来计算,即C(n,m) = n! / (m! * (n-m)!)。具体实现如下:
```java
import java.util.Scanner;
public class Combination {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入球的总数n:");
int n = input.nextInt();
System.out.print("请输入取出的球数m:");
int m = input.nextInt();
int numerator = 1; // 分子
int denominator = 1; // 分母
for (int i = 1; i <= m; i++) {
numerator *= n - i + 1;
denominator *= i;
}
int result = numerator / denominator;
System.out.println("共有" + result + "种不同取法");
}
}
```
首先从控制台输入球的总数n和取出的球数m,然后使用循环计算组合数公式的分子和分母,最后将它们相除得到结果。
阅读全文