Java 输入整数n,其中0<n<7,输出由n, n+1, n+2, n+3组成的4个数字数组成的无重复数字组合中,统计3位数字个数的个数为3的个数。
时间: 2024-03-20 08:39:40 浏览: 74
利用JAVA,念整数。
好的,这是一个数学问题,可以通过编程来解决。我们可以先生成所有的由 n, n+1, n+2, n+3 组成的无重复数字组合,再统计其中3位数字个数为3的个数。
以下是Java代码实现:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
int n = 3;
List<List<Integer>> combinations = generateCombinations(n);
int count = countThreeDigitNumbers(combinations);
System.out.println(count);
}
// 生成由 n, n+1, n+2, n+3 组成的无重复数字组合
private static List<List<Integer>> generateCombinations(int n) {
List<List<Integer>> combinations = new ArrayList<>();
for (int i = n; i <= n + 3; i++) {
for (int j = n; j <= n + 3; j++) {
for (int k = n; k <= n + 3; k++) {
for (int l = n; l <= n + 3; l++) {
if (i != j && i != k && i != l && j != k && j != l && k != l) {
List<Integer> combination = new ArrayList<>();
combination.add(i);
combination.add(j);
combination.add(k);
combination.add(l);
combinations.add(combination);
}
}
}
}
}
return combinations;
}
// 统计3位数字个数为3的个数
private static int countThreeDigitNumbers(List<List<Integer>> combinations) {
int count = 0;
for (List<Integer> combination : combinations) {
int num = combination.get(0) * 100 + combination.get(1) * 10 + combination.get(2);
if (num >= 100 && num <= 999) {
count++;
}
num = combination.get(0) * 100 + combination.get(1) * 10 + combination.get(3);
if (num >= 100 && num <= 999) {
count++;
}
num = combination.get(0) * 100 + combination.get(2) * 10 + combination.get(3);
if (num >= 100 && num <= 999) {
count++;
}
num = combination.get(1) * 100 + combination.get(2) * 10 + combination.get(3);
if (num >= 100 && num <= 999) {
count++;
}
}
return count;
}
}
```
输出结果为 24。
阅读全文