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

Помогите с Паскалем!

lalka Профи (748), закрыт 12 лет назад
Нужно составить прогу которая находит сумму четных натуральных чисел, начиная с "p" и заканчивая "n".
Лучший ответ
Наталья Гений (63575) 12 лет назад
Odd(x) возарвщает True если x нечетное, и False, если x - четное

Var
p,n,s,k:Integer;
Begin
Readln(p,n);
s:=0;
if Odd(p) Then k:=p+1 Else k:=p;
While (k<=n) Do
Begin
s:=s+k;
k:=k+2
End;
Writeln(s);
Readln
End.
lalkaПрофи (748) 12 лет назад
не пашет
Наталья Гений (63575) а сейчас?
Остальные ответы
Евгений Федькин Знаток (314) 12 лет назад
В данном случае мы имеем дело с арифметической прогрессией с разностью равной 2
Сумма элементов такой прогрессии вычисляется по формуле
(1 элемент прогрессии + последний элемент прогресси) * кол-во элеметов прогрессии / 2
Кол-во элементов в прогрессии будет равно
(последний элемент прогрессии - 1 элемент прогрессии) / разность прогрессии + 1

program sum2;
var p, n, k: Integer;
s: LongInt;
begin
write('Введите начальное число: ');
readln(p);
p := p + (p and 1);
write('Введите конченое число: ');
readln(n);
n := n xor 1;
k := ((n - p) div 2) + 1;
s := (n + p) * k div 2;
write('Сумма четных чисел равна: ', s);
readln;
end;
Похожие вопросы