Последовательности длиной 7, содержащей 5 букв А могут быть следующими: ** (* - любой из символов В или С) *А* ААА*АА* АА*ААА* А** ** (пока 6 вариантов) Далее - аналогично: **А ААА*А*А АА*АА*А А*ААА*А **А (ещё 5 вариантов) ААА**АА АА*А*АА А*АА*АА *ААА*АА (ещё 4 варианта) АА**ААА А*А*ААА *АА*ААА (ещё 3 варианта) А** *А* (ещё 2) ** (ещё 1) Итого: 6+5+4+3+2+1=21 Так как на месте * могут быть любые из 2 символов В или С, то это даст ещё по 4 варианта для каждого случая. Можно здесь, конечно, комбинаторику вспомнить. Итого: 21*4 = 84
const s='Каждый охотник желает знать где сидит фазан';
var s1,sub:string;
i,j,m,n:integer;
a:array[1..100] of string;
begin
i:=0;n:=0;
repeat
inc(i);
if (s[i]=' ')or(s[i]=',') then begin
inc(n);
a[n]:=sub;
sub:='';
end
else sub:=sub+s[i];
until i=length(s);
inc(n);
a[n]:=sub;
writeln;
for i:=1 to n do
begin
if i mod 4 =1 then writeln(a[i]);
if i mod 4 =2 then writeln(' ',a[i]);
if i mod 4 =3 then writeln(' ',a[i]);
if i mod 4 =0 then begin
writeln(' ',a[i]);
writeln;
end;
end;
end.
Объяснение:
Возможности протестировать нет, но надеюсь работает. Питон не знаю, но возможно