PTA ― 7-19 输出全排列 (20 分)

匿名 (未验证) 提交于 2019-12-03 00:11:01

7-19 输出全排列 (20 分)

请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。

输入格式:
输入给出正整数n(<10)。

输入样例:
3
输出样例:
123
132
213
231
312
321

#include <stdio.h> int a[10],b[10],n; void dfs(int step){     if (step==n+1){         for (int i=1;i<=n;i++)         printf("%d",a[i]);         printf("\n");         return;     }     for (int i=1;i<=n;i++){         if (b[i]==0){             a[step]=i;             b[i]=1;             dfs(step+1);             b[i]=0;         }     }     return; } int main(){     scanf("%d",&n);     dfs(1);     return 0; } 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!