Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Pascal помогите с задачей (Арифм прогрессия)

Важно Ученик (81), на голосовании 13 лет назад
Задача : вычеслить сумму первых N членов арифметической прогрессии зная величину первого члена и первый шаг.
Не понимаю чего то что найти надо.
Допустим у нас первый член 5 а шаг прогрессии 3 , прогрессию я себе представляю как 5, 8, 11, 14, 17, и т.д. мне нужно найти сумму их всех или что ?
допустим я вобью прогрессию в массив потом что делать ? Сложить путём:
for i:=o to n do
s:=s+a;
end;
?
Непонятно само условие задачи...
Голосование за лучший ответ
Duality Просветленный (29386) 13 лет назад
Ну сумму всех членов до N же.
Допустим N = 3, тогда надо посчитать сумму 5+8+11.
Евгений Ломега Оракул (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 - количество членов прогрессии
Похожие вопросы