Program ; var A: array [-10..10] of integer; n, i, b, c : integer; begin writeln('Введите количество чисел'); readln(n); b:=0; for i := 1 to n do readln(A[i]); b:=0; c:=1; for i := 1 to n do begin if A[i] mod 2 = 0 then b:=b+A[i] else c:=c*A[i] end; writeln('Это произведение ' , c); writeln('Это сумма ' , b); end.
Нужно взять сумму произведений числителей и знаменателей крест накрест, то есть a на d, b на c, и поделить на произведение знаменателей. В математической форме, чтоб понятнее было: . Дальше можно сократить: для удобства запишем получившийся числитель в переменную n, а знаменатель - в m. Найдем для этого наибольший общий делитель, и для данного алгоритма запишем значение m в переменную m1, n в n1, чтобы не портить их значения: Если n1>m1, поменяем значение переменной n1 на n1-m1, если же m1>n1, то сделаем наоборот - присвоим переменной m значение m1-n1, повторим этот алгоритм до тех пор, пока m1>0 и n1>0. После завершения цикла выберем большее число из m и n, и оно будет наиб. общим делителем. Теперь вернемся к дроби m/n. Поделим m и n на получившийся наибольший общий делитель. Выведем получившиеся результаты. m - в качестве числителя, и n - знаменателя. Дроби суммированы.
Введём обозначения x - назад 2 у - вперёд 3 Всего команд 40 поэтому х+у = 40. Также сказано, что команд назад 2 на 10 больше: х-у = 10 Составим систему уравнений.
выразим из 2 уравнения х, получим: х = 10 + у подставим этот х в 1 уравнение: 10 + у + у = 40 упрощаем: 2у = 30 упрощаем: у = 15 подставим в выраженный ранее х: х = 10 + 15 = 25
Мы получили команд назад 2 - 25, то есть кузнечик в сумме сдвинулся назад на 2*25 = 50, а вперёд на 3*15 = 45. Если мы вычтем из 1 результата 2 то получим 5 - число указывает смещение кузнечика. То есть всю программу можно заменить одной командой: назад 5.
var
A: array [-10..10] of integer;
n, i, b, c : integer;
begin
writeln('Введите количество чисел');
readln(n);
b:=0;
for i := 1 to n do
readln(A[i]);
b:=0;
c:=1;
for i := 1 to n do
begin
if A[i] mod 2 = 0 then
b:=b+A[i]
else
c:=c*A[i]
end;
writeln('Это произведение ' , c);
writeln('Это сумма ' , b);
end.