Маша любит четные числа, а Миша нечетные. Поэтому они всегда радуются, когда встречают числа, которые им нравятся.
Сегодня им встретились все числа от A до B включительно. Маша решила посчитать сумму всех четных чисел от A дo B, а Миша сумму всех нечетных, после чего они начали спорить у кого получилась сумма больше. Помогите им - найдите разность между суммой Маши и суммой Миши.
Программа получает на вход два целых положительных числа A и B, не превосходящие 2×10^9. Программа должна вывести одно число - разность между суммой четных чисел и суммой нечетных чисел от A до B.
Комментарии (0)
Ответы
Ответ дал:
16
PascalABC.NET 3.7:
- ##
- var sumOfAP := function(a1, an, d: real):real → (a1 + an)/2*((an - a1)/d+1);
- var (a, b) := ReadInteger2('Введите a и b:');
- var sE := sumOfAP(a + a mod 2, b - b mod 2, 2);
- var sO := sumOfAP(a + 1 - a mod 2, b - 1 + b mod 2, 2);
- Print('Результат:', sE - sO)
Пояснение:
Используется формула для нахождения суммы первых n членов арифметической прогрессии: , где
— первый член прогрессии,
— последний член,
—разность прогрессии.
- sumOfAP -- функция расчёта суммы арифметической прогрессии.
- (a, b) -- вводимые числа.
- ReadInteger2(prompt) -- выводит приглашение к вводу prompt и возвращает кортеж из двух значений типа integer, введенных с клавиатуры.
- sE и sO -- "sum of Even" и "sum of Odd", сумма чётных и сумма нечётных соответственно.
- Print -- выводит значения на экран, после каждого значения выводит пробел.
Приложения:



Вас заинтересует
1 год назад
1 год назад
1 год назад
1 год назад
3 года назад
3 года назад
8 лет назад