e-olymp 8594. Между A и B

Задача

Заданы целые неотрицательные числа $a$ и $b$ [latex](a \le b)[/latex] и натуральное число $x$. Сколько существует чисел между $a$ и $b$ включительно, делящихся на $x$?

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

Три числа $a$, $b$ и $x$ [latex](0 \le a \le b \le 10^{18}, 1 \le x \le 10^{18}[/latex]).

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

Выведите ответ на задачу.

Тесты

Вход Выход
2 6 5 1
1 200 3000 0
83 180 10 10
775 12004 312 36
13 42 7 5

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

 

Решение

Для решения данной задачи, мы должны найти длину отрезка [latex][a;b][/latex], получаем промежуток, а после, если поделим на $x$, обнаружим целую и дробную часть, как раз целая часть числа и будет являться нашим ответом. Формула оказывается таковой: [latex][\frac{b-a}{x} ][/latex]. На сию формулу я буду в основном опираться. Но эта формула не учитывает некоторые случаи.

Если $a$ или $b$ будут без остатка делится на $х$, например, [latex]a=5[/latex], [latex]b=15[/latex], [latex]x=5[/latex]. По старой формуле ответ будет $2$. Но само по себе $a$(или $b$) тоже кратно $x$.  Ещё один случай формула не видит, поэтому нужно прописать дополнительную формулу для подобных ситуаций: [latex][\frac{b-a}{x} + 1][/latex]

Первая формула также не учитывает случай, когда остаток от меньшего числа, больше остатка от большего, например, [latex]a=3[/latex], [latex]b=6[/latex], [latex]x=5[/latex]. Между $a$ и $b$ есть решение, но по старой формуле ответ равен $0$, но мы видим, что ответ есть и он $1$. Опять же, мы должны предусмотреть подобные случаи и сделать для них «исключение» от изначальной формулы, добавив забытую единицу:  [latex][\frac{b-a}{x} + 1][/latex]

Ссылки

e-olymp

ideone

 

e-olymp 1289. Ланч

Задача

Влад хочет взять с собой для ланча пару фруктов. У него есть $a$ различных бананов, $b$ различных яблок и $c$ различных груш. Сколькими способами он может выбрать 2 разных фрукта из имеющихся у него?

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

В одной строке заданы три неотрицательных числа: $a$, $b$, $c$. Все числа не превышают [latex]10^6[/latex].

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

Вывести количество способов, которыми можно выбрать 2 фрукта разного вида.

 

Тесты

Вход Выход
2 3 4 26
6 2 4 44
0 4 8 32
1052 886 225 1368122
772 621 124 652144

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

Решение

Пусть у нас $1$ банан и $b$ различных яблок. Мы можем взять $1$ банан  и одно яблоко $b$ способами. Так как бананов $a$, по одному яблоку и банану можем взять [latex](a \cdot b)[/latex] способами. Аналогично, так как груш $с$,  то есть [latex](a \cdot с)[/latex] способов взять по одному банану и одну грушу, и [latex](c \cdot b)[/latex] способов взять по одному яблоку и одну грушу. То есть всего [latex](a \cdot b + b \cdot c + c \cdot a) [/latex].

Ссылки

e-olymp

ideone