07/07/19 02:12:17
>>323
#include <stdio.h>
#define N 6
int nextperm(int p[], int n){
int i, j, t;
i = n - 1;
p[0] = 0;
while (p[i] >= p[i + 1]) i--;
if (i == 0) return 0;
j = n;
while (p[i] >= p[j]) j--;
t = p[i]; p[i] = p[j]; p[j] = t;
i++; j = n;
while (i < j){ t = p[i]; p[i] = p[j]; p[j] = t; i++; j--; }
return 1;
}
int main(){
int i, n, p[N + 1];
do{ scanf("%d", &n); }while(n < 1 || N < n);
for (i = 1; i <= n; i++) p[i] = i;
do{ for (i = 1; i <= n; i++) printf("%d", p[i]); putchar(' '); }while(nextperm(p,n));
return 0;
}
ぐぐって出てきたのほぼそのまんまだから動作原理はシラネ