C语言实验——排列
Time Limit: 1000 ms
Memory Limit: 65536 KiB
Problem Description
有4个互不相同的数字,请按序输出由其中三个不重复数字组成的排列。
Input
4个整数。
Output
所有排列,输出顺序见样例。
Sample Input
1 2 3 4
Sample Output
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 1 2 4 1 4 2 2 1 4 2 4 1 4 1 2 4 2 1 1 3 4 1 4 3 3 1 4 3 4 1 4 1 3 4 3 1 2 3 4 2 4 3 3 2 4 3 4 2 4 2 3 4 3 2
Hint
Source
ZJGSU
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int i;
int a, b, c, d;
a = input.nextInt();
b = input.nextInt();
c = input.nextInt();
d = input.nextInt();
f(a, b,c);
f(a, b,d);
f(a, c, d);
f(b, c, d);
}
public static void f(int a, int b, int c) {
int i, j, k;
int d[] = new int[4];
d[1] = a;
d[2] = b;
d[3] = c;
for(i = 1; i <= 3; i++) {
for(j = 1; j <= 3; j++) {
for(k = 1; k <= 3; k++) {
if(k != i && i != j && j != k) {
System.out.println(d[i] + " " + d[j] + " " + d[k]);
}
}
}
}
}
}