作业帮 > 综合 > 作业

数字排列问题(pascal语言)

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/26 02:59:01
数字排列问题(pascal语言)
列出所有从数字1到数字n的连续自然数的排列,要求所产生的任意数字序列中不允许出现重复的数字.
1
数字排列问题(pascal语言)
program hh;
const n=4;
var i,k:integer;
x:array[1..n] of integer;
st:string[n];
t:string[n];
procedure input;
var i:integer;
begin
write('Enter string=');readln(st);
t:=st;
end;
function place(k:integer):boolean;
var i:integer;
begin
place:=true;
for i:=1 to k-1 do
if x[i]=x[k] then
begin place:=false; break end ;
end;
procedure print;
var i:integer;
begin
for i:=1 to n do write(t[x[i]]);
writeln;
end;
begin
input;
k:=1;x[k]:=0;
while k>0 do
begin
x[k]:=x[k]+1;
while (x[k]n then k:=k-1
else if k=n then print
else begin k:=k+1;x[k]:=0 end
end ;
end.