Наименьшее число, имеющее только 4 делителя с разницей между любыми двумя не более чем D

Опубликовано: 19 Сентября, 2022

Для данного числа D найдите наименьшее число N такое, что оно имеет ровно четыре делителя и разность между любыми двумя из них больше или равна D .

Примеры:

Input: 1
Output: 6
Explanation: 6 has four divisors 1, 2, 3, and 6. 
Difference between any two of them is always greater or equal to 1.

Input: 2
Output: 15
Explanation: 15 has four divisors 1, 3, 5 and 15. 
Difference between any two of them is always greater or equal to 2

Input: 3
Output: 55
Explanation: 55 has four divisors 1, 5, 11 and 55. 
Difference between any two of them is always greater than 3.

Подход: очевидно, что '1' и само число являются делителями N . Таким образом, число, имеющее ровно 4 делителя, имеет свои делители как 1, a, b, a*b соответственно. Для условия, что у него ровно 4 делителя, и a , и b должны быть простыми. При условии, что разница между любыми двумя из них должна быть не менее D , начните находить a с 1+d и проверьте, простое оно или нет. Если оно не простое, то мы найдем простое число рядом с ним. Точно так же начните находить b с a + d и проверьте, простое оно или нет, и сделайте то же самое, что и для нахождения a .

Ниже приведена реализация описанного выше подхода.

Сложность времени: НА)
Вспомогательное пространство: O(1)