Проблема:
Защ. составное число:
целые положительные числа, не являющиеся простыми и не равные 1
Последовательность n − 1 последовательных составных чисел
, лежащих между двумя последовательными простыми числами p и p + n
, называется пробелом между простыми числами длины n.
Например,
⟨24, 25, 26, 27, 28⟩ между 23 и 29 — это пробел длины 6.
Ваша задача состоит в том, чтобы написать программу для вычисления
для заданного положительного целого числа k длины промежутка простого числа, содержащего k.
Для удобства длина считается равной 0, если ни один из простых пробелов не содержит k.
Ввод:
Входные данные представляют собой последовательность строк,
каждая из которых содержит одно положительное целое число.
Каждое положительное целое число больше 1
и меньше или равно 100000-му простому числу, которое равно 1299709.
Конец ввода обозначается строкой, содержащей один ноль.
===
Введите несколько строк.
Каждая строка содержит положительное целое число ( 1 ‹ целых чисел ≤ 1299709 ).
Введите 0, чтобы закончить ввод.
Вывод:
Вывод должен состоять из строк
, каждая из которых содержит одно неотрицательное целое число.
Это длина простого промежутка
, который содержит соответствующее положительное целое число во входных данных
, если это составное число, или «0» в противном случае.
В выводе не должно быть других символов.
===
Защ. Простой пробел: это разница между двумя последовательными простыми числами.
Если введенное целое число простое, то выведите 0,
иначе выведите длину простого промежутка.
Пример ввода и вывода:
ввод:
11
27
2
492170
0
вывод:
4
0
6
0
114
Решение: