Формула размещения с повторением
A=n в степени m
Словесно алгоритм можно описать так:
В n-ричной системе исчесления перебираем все числа от 001 до 000
var p:array [0..1000] of integer;
b:array [0..1000] of char;
i,j,m,n,s:longint;
begin
readln(n,m);
for i:=0 to n-1 do read(b[i]);
for i:=0 to m do p[i]:=0;
while p[0]=0 do
begin
j:=m;
while p[j]=n-1 do begin
p[j]:=0;
j:=j-1;
end;
p[j]:=p[j]+1;
for i:=1 to m do write(b[p[i]]);
s:=s+1;
writeln;
end;
writeln(s);
end.