const
K = 5; // можно сделать переменной и запрашивать у пользователя
alpha : array[1 .. 4] of char = ('Ы', 'Ш', 'Ч', 'О');
var count : integer := 0;
procedure p(s : string);
begin
if s.Length = K then
writeln(s);
inc(count);
end
else
var L := s.Length;
if (s.Length < 2) or (s[2] = 'Ы') then
foreach var ch : char in alpha do p(s + ch);
end;
p('');
writeln('count = ', count);
end.
const
K = 5; // можно сделать переменной и запрашивать у пользователя
alpha : array[1 .. 4] of char = ('Ы', 'Ш', 'Ч', 'О');
var count : integer := 0;
procedure p(s : string);
begin
if s.Length = K then
begin
writeln(s);
inc(count);
end
else
begin
var L := s.Length;
if (s.Length < 2) or (s[2] = 'Ы') then
foreach var ch : char in alpha do p(s + ch);
end;
end;
begin
p('');
writeln('count = ', count);
end.