e-olymp 2860. Сумма чисел на промежутке

Задача

Найти сумму целых чисел на промежутке от [latex] a [/latex] до [latex] b [/latex].

Входные данные

Два целых числа [latex] a [/latex] и [latex] b [/latex], по модулю не превышающих [latex] 10^9 [/latex].

Выходные данные

Сумма целых чисел на промежутке от [latex] a [/latex] до [latex] b [/latex].

Тесты

Входные данные Выходные данные
2 5 14
249 318 19845
23 69 2162
124 200 12474
478 653 99528

Код программы

Решение

Для того, что бы найти ответ, нам необходимо знание формул прогрессии, так как решением данной задачи является сумма [latex] n [/latex] первых членов арифметической прогрессии. Вычислить её можно по формуле [latex] S_n=\frac{a_1+a_n}{2}\cdot n [/latex], где [latex] a_1 — [/latex] это [latex] a [/latex] из входного потока, а [latex] a_n — [/latex] это [latex] b [/latex]. Тем не менее, мы все ещё не можем применить вышеприведенную формулу, так как нам неизвестно [latex] n [/latex]. Выведем же его из формулы [latex] n[/latex]-ого члена арифметической прогрессии: [latex] a_n=a_1+d\cdot(n-1) [/latex], где [latex] d — [/latex] это разность арифметической прогрессии, которая по условию (хоть и негласно) равна единице. Зная это, из последней формулы выведем, что [latex] n=a_n-a_1+1 [/latex]. Теперь же, когда мы знаем все необходимые значения, остается только подсчитать сумму арифметической прогрессии по ранее данной формуле и подать результат на выход.

Ссылки

Условие задачи на e-olymp
Код решения на Ideone