Натхненний цим питанням над Math.
Нехай прості множники числа, п , можна уявити в вигляді Р (п) = 2 х 3 б х 5 гр х ... .
(Використовуючи й в якості символу множення.)
Тоді число дільників п можна представити в вигляді D (п) = (а + 1) х (Ь + 1) х (С + 1) ... .
Таким чином, можна легко сказати, що число дільників 2n дорівнює D (2n) = (a + 2) x (b + 1) x (c + 1) ... ,
число дільників 3n дорівнює D (3n ) = (а + 1) х (Ь + 2) х (з + 1) ... ,
і так далі.
Виклик:
Напишіть програму або функцію, яка використовує ці властивості для обчислення n з урахуванням певних входів дільника.
Вхід:
Набір цілих чисел, назвемо їх w, x, y, z зі всіма наступними визначеннями:
- всі входи більше 1 -
w, x, y, z > 1
- x і z є різними -
x<>z
- x і z є простими -
P(x)=x
,D(x)=2
іP(z)=z
,D(z)=2
- w - кількість дільників xn -
D(xn)=w
- y кількість дільників zn -
D(zn)=y
Для проблеми, наведеної у пов'язаному питанні, прикладом може бути вхід (28, 2, 30, 3)
. Це означає D(2n)=28
і D(3n)=30
, з n=864
.
Вихід:
Єдине ціле число, n , яке задовольняє наведеним вище визначенням та обмеженням введення. Якщо декілька чисел відповідають визначенням, виведіть найменше. Якщо таке ціле число неможливо, виведіть значення фальси .
Приклади:
(w, x, y, z) => output
(28, 2, 30, 3) => 864
(4, 2, 4, 5) => 3
(12, 5, 12, 23) => 12
(14, 3, 20, 7) => 0 (or some other falsey value)
(45, 13, 60, 11) => 1872
(45, 29, 60, 53) => 4176
Правила:
- Застосовуються стандартні правила коду-гольфу та обмеження лазівки .
- Застосовуються стандартні правила введення / виводу .
- Номери введення можуть бути в будь-якому порядку - будь ласка, вкажіть у своїй відповіді, яке замовлення ви використовуєте.
- Номери введення можуть бути у будь-якому відповідному форматі: розділений пробілом, масив, окрема функція або аргументи командного рядка тощо - на ваш вибір.
- Аналогічно, якщо вихід на STDOUT, навколишній пробіл, трейлінг нового рядка тощо, необов’язковий.
- Синтаксичний аналіз та форматування вихідних даних не є цікавими особливостями цього завдання.
- В інтересах розумної складності та цілих переливів номер виклику n матиме такі обмеження, що,
1 < n < 100000
тобто, вам не потрібно турбуватися про можливі відповіді поза цим діапазоном.