Var a:array[1..100] of integer; n,i,k,c:integer; begin Randomize; write('n = '); readln(n); Writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(100); write(a[i]:6); end; writeln; for k := 1 to n-1 do for i := n-1 downto k do if a[i] > a[i+1] then begin c:=a[i]; a[i]:=a[i+1]; a[i+1]:=c end; Writeln('Отсортированный массив:'); for i:=1 to n do write(a[i]:6); writeln; end.
Последовательности длиной 7, содержащей 5 букв А могут быть следующими: ** (* - любой из символов В или С) *А* ААА*АА* АА*ААА* А** ** (пока 6 вариантов) Далее - аналогично: **А ААА*А*А АА*АА*А А*ААА*А **А (ещё 5 вариантов) ААА**АА АА*А*АА А*АА*АА *ААА*АА (ещё 4 варианта) АА**ААА А*А*ААА *АА*ААА (ещё 3 варианта) А** *А* (ещё 2) ** (ещё 1) Итого: 6+5+4+3+2+1=21 Так как на месте * могут быть любые из 2 символов В или С, то это даст ещё по 4 варианта для каждого случая. Можно здесь, конечно, комбинаторику вспомнить. Итого: 21*4 = 84
n,i,k,c:integer;
begin
Randomize;
write('n = '); readln(n);
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=random(100);
write(a[i]:6);
end;
writeln;
for k := 1 to n-1 do
for i := n-1 downto k do
if a[i] > a[i+1] then
begin
c:=a[i];
a[i]:=a[i+1];
a[i+1]:=c
end;
Writeln('Отсортированный массив:');
for i:=1 to n do write(a[i]:6);
writeln;
end.
Пример:
n = 15
Исходный массив:
10 0 59 85 98 71 72 55 29 50 54 27 34 56 73
Отсортированный массив:
0 10 27 29 34 50 54 55 56 59 71 72 73 85 98
** (* - любой из символов В или С)
*А*
ААА*АА*
АА*ААА*
А**
** (пока 6 вариантов)
Далее - аналогично:
**А
ААА*А*А
АА*АА*А
А*ААА*А
**А (ещё 5 вариантов)
ААА**АА
АА*А*АА
А*АА*АА
*ААА*АА (ещё 4 варианта)
АА**ААА
А*А*ААА
*АА*ААА (ещё 3 варианта)
А**
*А* (ещё 2)
** (ещё 1)
Итого: 6+5+4+3+2+1=21
Так как на месте * могут быть любые из 2 символов В или С, то это даст ещё по 4 варианта для каждого случая.
Можно здесь, конечно, комбинаторику вспомнить.
Итого: 21*4 = 84