AA; вместо x должно стоять B, C или D. Надо посчитать количество вариантов с разными позициями А: AA, AxAxxx, AxxAxx, AxxxAx, AA. xAAxxx, xAxAxx, xAxxAx, xAxxxA. xxAAxx, xxAxAx, xxAxxA. xxxAAx, xxxAxA. A. Всего 15
Можно было посчитать как размещения с повторениями из 6 по 2 = 6!/(6-2)!/2! = 6 * 5 / 2 = 15 Теперь посчитаем кол-во разных комбинаций для . Для х 3 варианта (B, C или D), 4 позиции. Значит всего комбинаций 3^4 = 81
Две обязательные буквы "А" в такой последовательности можно расположить На оставшиеся 4 места можно ставить любые буквы, т.е. 4^4=256 вариантов. Всего 15*256=3840.
Var s : String; n : Integer; Function IncS(a : String) : String; Begin a[Length(a)]:=Chr(Ord(a[Length(a)])+1); If a[Length(a)]>'D' then IncS:=IncS(Copy(a,1,Length(a)-1))+'A' else IncS:=a; end; Function Check(a : String) : Boolean; Begin Check:=False; If (Pos('A',a)>0) then Begin Delete(a,Pos('A',a),1); If (Pos('A',a)>0) then Check:=True; end; end; Begin s:=''; n:=0; While s<>'' do Begin { Writeln(s); } If Check(s) then Inc(n); s:=IncS(s); end; Writeln(n); end.
Предлагаю найти количество всех последовательностей и вычесть из них те, в которых содержится менее двух букв А.
Всего последовательностей: 4^6 = 4096 {четыре варианта на каждый символ} Последовательностей без буквы А: 3^6 = 729 {три варианта на каждый символ} С одной буквой А: 6 * 3^5 = 1458 {6 различных вариантов расположения А и по 3 варианта на каждый из оставшихся символов}
Надо посчитать количество вариантов с разными позициями А:
AA, AxAxxx, AxxAxx, AxxxAx, AA.
xAAxxx, xAxAxx, xAxxAx, xAxxxA.
xxAAxx, xxAxAx, xxAxxA.
xxxAAx, xxxAxA.
A.
Всего 15
Можно было посчитать как размещения с повторениями из 6 по 2 = 6!/(6-2)!/2! = 6 * 5 / 2 = 15
Теперь посчитаем кол-во разных комбинаций для . Для х 3 варианта (B, C или D), 4 позиции. Значит всего комбинаций 3^4 = 81
15 * 81 = 1 215 комбинаций.
ответ: 1 215 комбинаций.
AA****
* может принять одно из трех значений
следовательно перебрать ****
число выбора позиций для AA:
Тогда ответ:
Var
s : String;
n : Integer;
Function IncS(a : String) : String;
Begin
a[Length(a)]:=Chr(Ord(a[Length(a)])+1);
If a[Length(a)]>'D' then
IncS:=IncS(Copy(a,1,Length(a)-1))+'A'
else IncS:=a;
end;
Function Check(a : String) : Boolean;
Begin
Check:=False;
If (Pos('A',a)>0) then
Begin
Delete(a,Pos('A',a),1);
If (Pos('A',a)>0) then Check:=True;
end;
end;
Begin
s:=''; n:=0;
While s<>'' do
Begin
{ Writeln(s); }
If Check(s) then Inc(n);
s:=IncS(s);
end;
Writeln(n);
end.
Всего последовательностей: 4^6 = 4096 {четыре варианта на каждый символ}
Последовательностей без буквы А: 3^6 = 729 {три варианта на каждый символ}
С одной буквой А: 6 * 3^5 = 1458 {6 различных вариантов расположения А и по 3 варианта на каждый из оставшихся символов}
Искомое число: 4096 - 729 - 1458 = 1909