本文主要是介绍全排列acc pascal程序加题解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
全排列acc pascal程序加题解
全排列
Time Limit:20000MS Memory Limit:65536K Total Submit:506 Accepted:218
Description
列出所有数字1到数字n的连续自然数的排列,要求所产生的任一数字序列中不允许出现得复数字。
Input
输入:n(1<=n<=9)
Output
由1~n组成的所有不重复的数字序列,每行一个序列。
Sample Input
3
Sample Output
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
Source
elba
程序如下constmaxn=1000; vara:array[0..maxn] of longint;n,k:longint;x:array[0..maxn] of boolean; procedure init; beginread(n); end; procedure aa;//输出。 vari:integer; beginfor i:=1 to n dowrite(a[i],' ');writeln; end; procedure js;//搜索。 var i,j:integer; beginif k>n then//步速beginaa;//符合就输出。exit;//结束程序。end;for i:=1 to n dobeginif not x[i] then//判断是否用过。beginx[i]:=true;//x[i]设置为用过a[k]:=i;//放入输出数组。k:=k+1;//步数+1js;//回溯,步数-1.k:=k-1;//回溯,步数-1.
x[i]:=false;//设为没用过。 end; end;end;begin init;//输入。 k:=1;//第一步 js;//搜索。end.
这篇关于全排列acc pascal程序加题解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!