那这到底该怎么解
var
a: string;
n: integer;
procedure
getnext(var str: string);
var
l, i, j, k: integer;
temp: char;
begin
l := length(str);
k := l - 1;
while (k>=1) and (str[k]>str[k+1]) do
dec(k);
i := k + 1;
while (i<=l) and (str[i]>str[k]) do
inc(i);
temp := str[k];
str[k] := str[i-1];
str[i-1] := temp;
for i := l downto k + 1 do
for j := k + 1 to i - 1 do
if str[j] > str[j+1] then
begin
temp := str[j];
str[j] := str[j+1];
str[j+1] := temp;
end;
end;
begin
read(a);
read(n);
while n > 0 do
begin
getnext(a);
dec(n);
end;
write(a);
end.
输入:NOIP 3