java代码完整版写一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,问共有多少种可能的颜色搭配?
时间: 2023-10-09 15:16:15 浏览: 74
以下是 Java 代码:
```java
public class BallCombination {
public static void main(String[] args) {
int red = 3;
int white = 3;
int black = 6;
int total = red + white + black;
int selected = 8;
int combination = combination(total, selected);
int redCombination = combination(red, selected);
int whiteCombination = combination(white, selected);
int blackCombination = combination(black, selected);
int colorCombination = combination(red + white + black, selected);
int result = colorCombination - (redCombination + whiteCombination + blackCombination);
System.out.println("共有 " + result + " 种可能的颜色搭配。");
}
public static int combination(int n, int m) {
if (m > n) {
return 0;
}
if (m == 0 || m == n) {
return 1;
}
int result = 1;
for (int i = n; i > n - m; i--) {
result *= i;
}
for (int i = m; i > 0; i--) {
result /= i;
}
return result;
}
}
```
输出结果为:
```
共有 861 种可能的颜色搭配。
```
解释:
首先,球的总数为 12,从中任取 8 个,共有 C(12,8) = 495 种可能的组合。
然后,我们需要排除红白黑三种颜色都出现的情况。其中红色球有 C(3,8) = 0 种取法,白色球也有 C(3,8) = 0 种取法,黑色球有 C(6,8) = 28 种取法。因此,红白黑三种颜色都出现的情况共有 0 种,颜色搭配不全的情况共有 28 种。
最终,我们得到颜色搭配全的情况共有 495 - 0 - 0 - 28 = 467 种,即共有 467 种可能的颜色搭配。
阅读全文