C. Арифметическая прогрессия
Имя входного файла: | progression.in |
Имя выходного файла: | progression.out |
Ограничение по времени: | 1 s |
Ограничение по памяти: | 64 megabytes |
Однажды на уроке математики ученики познакомились с понятием арифметической прогрессии. Перед переменой учительница написала на доске некоторую арифметическую прогрессию, то есть последовательность, где
- a1, a2, …, an – элементы прогрессии,
- ai - ai-1 = d для всех 1 < i ≤ n,
- d, a1, a2, …, an – целые числа.
- d называется разностью арифметической прогрессии.
Васе на перемене нечем было заняться, поэтому пока учительница отсутствовала в классе, он решил стереть числа прогрессии, в результате чего остались только два числа. Когда учительница вернулась и увидела учинённое безобразие, то решила проучить Василия и заставила определить, сколько существует различных разностей d, которые могли бы образовывать исходную прогрессию. Стоит отметить, что никто не запомнил, на каких местах располагались оставшиеся числа в изначальной последовательности.
Помогите Васе посчитать число способов выбрать разность целочисленной арифметической прогрессии, в которой известны только два её члена.
Формат входного файла
В единственной строке файла содержатся два целых числа a, b (1 ≤ a, b ≤ 109).
Формат выходного файла
Выведите число способов выбрать разность прогрессии.
Пример:
progression.in | progression.out |
---|---|
2 4 | 2 |
1 5 | 3 |
В первом примере на доске изначально могли быть написаны прогрессии с разностями 1 и 2. Например, это могла быть последовательность 1, 2, 3, 4, 5, в которой Вася стёр 1, 3, 5 или 0, 2, 4, 6, в которой, удалили 0 и 6. Следует отметить, что разность -2 использована быть не может, так как в оставшейся последовательности известен относительный порядок чисел, то есть 2 идет в прогрессии раньше чем 4.
Во втором примере разностью прогрессии могло быть число 1, 2 или 4.
Источник: VII сетевая районная олимпиада Республики Карелия по информатике
Обсудить
Отправить решение
Версия для печати