2870: 练57.1 全排列问题

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

输出自然数 $1$ 到 $n$ 所有不重复的排列,即 $n$ 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入

一个整数$n$ ($1≤n≤9$)。

输出

由$1\sim n$ 组成的所有不重复的数字序列,每行一个序列。每个数字保留 $5$ 个场宽。

样例输入 复制

3

样例输出 复制

1    2    3
1    3    2
2    1    3
2    3    1
3    1    2
3    2    1

提示

#include<bits/stdc++.h>
using namespace std;
int n,a[15];
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++) a[i]=i;
    do{
        for(int i=1;i<=n;i++)
        printf("%5d",a[i]);
        puts("");
    }
    while(next_permutation(a+1,a+n+1));
    return 0;
}