Как мы видим - 7. Так как мы узнали все возможные пути до 10, узнаем теперь пути от 10 до 34. Чтобы они не проходили через число 28, нам нужно "перескочить" его, то есть какое-то число, меньшее 28, мы должны умножить на 2 и получить какое-то число, большее 28. Получаем такое неравенство: 10≤x<28 и 28<2x≤34
(10≤x<28 и 28<2x≤34) => (10≤x<28 и 14<x≤17) => (14<x≤17).
// PascalABC.NET 3.0, сборка 1073 const nn=30; mm=30; var a:array[1..mm,1..nn] of integer; m,n,i,j,k,s:integer; begin Writeln('Введите число строк и столбцов массива: '); Read(m,n); Randomize; Writeln('*** Исходный массив ***'); k:=0; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=Random(51)-25; Write(a[i,j]:4); if Odd(a[i,j]) then Inc(k) end; Writeln end; if k>5 then begin Writeln('Средние арифметические отрицательных элементов по строкам'); for i:=1 to m do begin s:=0; k:=0; for j:=1 to n do if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end; if k>0 then Writeln(s/k:9:5) else Writeln(' 0.00000'); end end else begin Writeln('*** Результирующий массив ***'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end; Writeln end end end.
Каким бы длинным решение не казалось - это не так, оно очень короткое, просто очень подробно расписано во всех деталях. Итак, что нам известно:
Команда 1: +1Команда 2: *2Начальное: 2Конечное: 34Проходит через: 10Не проходит через: 28Траектория вычислений должна содержать число 10. Узнаем сколько таких есть различных путей:
2 +1 +1 +1 +1 +1 +1 +1 +1 = 102 *2 +1 +1 +1 +1 +1 +1 = 10(2 +1) *2 +1 +1 +1 +1 = 10(2 +1 +1) *2 +1 +1 = 10(2 *2) *2 +1 +1 = 10(2 +1 +1 +1) *2 = 10(2 *2 +1) *2 = 10Как мы видим - 7. Так как мы узнали все возможные пути до 10, узнаем теперь пути от 10 до 34. Чтобы они не проходили через число 28, нам нужно "перескочить" его, то есть какое-то число, меньшее 28, мы должны умножить на 2 и получить какое-то число, большее 28. Получаем такое неравенство: 10≤x<28 и 28<2x≤34
(10≤x<28 и 28<2x≤34) => (10≤x<28 и 14<x≤17) => (14<x≤17).
Подыщем такие значения:
10 +1 +1 +1 +1 +1 = 1510 +1 +1 +1 +1 +1 +1 = 1610 +1 +1 +1 +1 +1 +1 +1 = 17Как мы видим - их 3. Дальше рассмотрим каждый:
15 *2 +1 +1 +1 +1 = 3416 *2 +1 +1 = 3417 * 2 = 34Выходит для каждого только 1 вариант ("15+1", "15+1+1", "16+1" будет иметь такой же путь, как и просто 16 и 17, поэтому их не рассматриваем).
Получается 7 путей от 2 до 10 и 3 пути от 10 до 34. Итого: 7*3 = 21.