Голосование за лучший ответ
Евгений Ломега
Оракул
(68071)
13 лет назад
да все верно, можно и так, только в твоем случае
a := 5;
s:=0;
for i:=1 to n do
s:=s+a;
a := a+3;
end;
а можно по правилам арефм. прогрессии:
An=A0+k(n-1)
где k- шаг прогрессии
сумма s=(A0+An)*n/2 для четных n
и s=(A0+An-1)*(n-1)/2+An для нечетных n
Рамиль Насибуллин
Мастер
(1944)
13 лет назад
Да, ты всё понял правильно. Только перед началом цикла не забудь S занулить.
А вообще, проще сумму посчитать вообще без цикла, а по формуле "сумма арифметической прогрессии" из школьной программы:
S:= (2*a + d*(N-1))*N / 2
где S - искомая сумма,
a - первый член прогрессии,
d - шаг прогрессии
N - количество членов прогрессии
Не понимаю чего то что найти надо.
Допустим у нас первый член 5 а шаг прогрессии 3 , прогрессию я себе представляю как 5, 8, 11, 14, 17, и т.д. мне нужно найти сумму их всех или что ?
допустим я вобью прогрессию в массив потом что делать ? Сложить путём:
for i:=o to n do
s:=s+a;
end;
?
Непонятно само условие задачи...