求编写一个排列组合程序

要求:输入几位数,输出结果也是几位数。比如:输入12a,输出结果为21a ,a12,a21等等。
2026年09月26日 20:20
有1个网友回答
网友(1):

var a:string; k,n,s:integer; c:char;
procedure pern(a:string;k,n:integer);
var i:integer;
begin
if k=n then begin inc(s); writeln(s:4,': ',a) end
else for i:=k to n do
begin
c:=a[k]; a[k]:=a[i]; a[i]:=c;
pern(a,k+1,n)
end;
end;
begin
readln(a);
n:=length(a);
pern(a,1,n);

END.