有4个互不相同的数字,输出由其中三个不重复数字组成的排列。 输入 4个整数。 输出 所有排列。用java写
时间: 2024-11-22 09:46:14 浏览: 34
在Java中,我们可以使用递归的方式来生成四个互不相同的数字的所有三元组排列。这里是一个简单的示例:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4}; // 输入的四个数字
permute(numbers, 0, 3); // 从第一个元素开始
}
public static void permute(int[] nums, int start, int end) {
if (start == end - 1) {
System.out.println(Arrays.toString(nums)); // 输出当前组合
} else {
for (int i = start; i < end; i++) {
swap(nums, start, i); // 交换元素
permute(nums, start + 1, end); // 递归处理剩余位置
swap(nums, start, i); // 恢复原始顺序,防止影响后续组合
}
}
}
private static void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
```
这个程序会打印出所有由三个互不相同的数字组成的排列,例如:[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], 和 [3, 2, 1]。
阅读全文