Дано слово КОТ. Получим все слова за счет перестановок с помощью программы на языке Паскаль.
Будем использовать динамический символьный массив c для хранения букв слова КОТ. С помощью метода Permutations и цикла foreach получим массивы перестановок x. Объединим элементы массива x в строку методом JoinToString и выведем строку s на экран.
Программа на языке Паскаль
var c,x:array of char; s:string;
begin
c:=new char[3];
c[0]:='К'; c[1]:='О'; c[2]:='Т';
foreach x in c.Permutations do
begin
s:=x.JoinToString;
println(s);
end;
end.
Результат запуска программы
А если буквы в слове повторяются? Сколько различных слов можно составить из букв слова ОКНО?
var
ОтветитьУдалитьc, x: array of char;
s: string;
k, k2: integer;
begin
c := new char[4];
c[0] := 'o';
c[1] := 'k';
c[2] := 'n';
c[3] := 'o';
foreach x in c.Permutations do
begin
s := x.JoinToString;
if 'oo' in s then inc(k)
else begin inc(k2); println(s); end;
end;
writeln(k, ' ', k2); // ответом будет k+k2 (k2 нельзя рядом две "оо")
end.