这题,用C++写很容易,万能头文件一定记住:#include <bitd/stdc++.h>
两个字典顺序的全排列函数一定记住,真好用!
(42条消息) next_permutation(a,a+n)_如梦山河的博客-CSDN博客_next_permutation
这篇文章写的很详细
next_permutation(start,end)
prev_permutation(start,end)
其中start和end表示起始地址
源代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, i;
scanf("%d", &n);
int a[20];
for (i = 1; i <= n; i++)
a[i] = i;
do {
for (i = 1; i <= n; i++) {
printf(" %d", a[i]);
}
printf("\n");
} while (next_permutation(a+1, a + i));
return 0;
}
必须是do...while...结构,先执行一次再判断