(см. объяснение)
Объяснение:
Я покажу тебе метод, как обойтись без цикла.
Вспомним формулу суммы арифметической прогрессии:
С ее можно без труда найти сумму всех четных элементов прогрессии, не забывая, что они идут через 2 (30, 32, 34, 36 и т.п.):
(примечание: здесь n=70/2=35)
Тогда сумма нечетных чисел:
Теперь перейдем к написанию программы:
begin
writeln('Сумма четных: ', (30+98)/2*35 , '; Сумма нечетных: ', (31+99)/2*35);
end.
var i,n,c:integer;
for i:=30 to 99
do begin
if(i mod 2 = 0) then c:=c+i
else n:=n+i;
end;
writeln('Сумма четных: ', c, '; Сумма нечетных: ', n);
(см. объяснение)
Объяснение:
Перед написанием программы я объясню идею:Я покажу тебе метод, как обойтись без цикла.
Вспомним формулу суммы арифметической прогрессии:
С ее можно без труда найти сумму всех четных элементов прогрессии, не забывая, что они идут через 2 (30, 32, 34, 36 и т.п.):
(примечание: здесь n=70/2=35)
Тогда сумма нечетных чисел:
Теперь перейдем к написанию программы:
begin
writeln('Сумма четных: ', (30+98)/2*35 , '; Сумма нечетных: ', (31+99)/2*35);
end.
Возможно также НЕ ОПТИМАЛЬНОЕ решение (не рекомендую использовать):var i,n,c:integer;
begin
for i:=30 to 99
do begin
if(i mod 2 = 0) then c:=c+i
else n:=n+i;
end;
writeln('Сумма четных: ', c, '; Сумма нечетных: ', n);
end.