Фон
Люди говорили про основну факторизацію в чаті, і ми виявили, що ми говорили про повторні з'єднання. Репуніти - це підмножина чисел, відомих як репдигіти, які є числами, що складаються лише з повторюваних цифр, як-от 222
або 4444444444444444
, але повторні сукупності складаються лише з 1
.
Перша пара repunits, отже 1
, 11
, 111
і т.д. Вони називаються по R п , так що R 1 = 1
, R 2 = 11
, і т.д., і генеруються за формулою R(n) = (10^n - 1)/9
, з n > 0
.
Основна факторизація цих чисел повторної сукупності відповідає послідовності A102380 в OEIS. Наприклад:
R 1 = 1
R 2 = 11
R 3 = 111 = 3 * 37
R 4 = 1111 = 11 * 101
R 5 = 11111 = 41 * 271
R 6 = 111111 = 3 * 7 * 11 * 13 * 37
R 7 = 1111111 = 239 * 4649
...
Змагання
Написати програму або функцію , яка, коли дан вхідний ціле число п з n >= 2
допомогою STDIN або еквівалента , виходів або повертаєте нові прості множники для R п , в будь-якому зручному форматі. "Нові прості фактори" тут означають все, x
де x
є простим фактором R n , але x
не є простим фактором для жодного попереднього R k , з 1 <= k < n
(тобто, якщо ми пишемо прості множники для всіх R послідовно, ми не бачили x
перед).
Приклади
Input: 6
Output: 7, 13
(because 3, 11, and 37 are factors of a smaller R_k)
Input: 19
Output: 1111111111111111111
(because R_19 is prime, so no other factors)
Input: 24
Output: 99990001
(because 3, 7, 11, 13, 37, 73, 101, 137, 9901 are factors of a smaller R_k)
Input: 29
Output: 3191, 16763, 43037, 62003, 77843839397
(because no factors of R_29 are also factors of a smaller R_k)
Екстри:
- Ваш код може зробити що завгодно або нічого, якщо
n < 2
. - Можна припустити , «розумний» верхня межа
n
для тестування і виконання цілей - ваш код не буде очікувати на виході дляn = 10000000
, наприклад, але ваш алгоритм повинен працювати для такого випадку , якщо дано необмежену обчислювальної потужності і часу. - Ось сайт, присвячений факторизації повторних з'єднань для довідок.
- Я не пройшов математику, але пропоную гіпотезу про те, що кожен n має чіткий результат для цього алгоритму - тобто жоден n не існує такого, щоб у R n не було нових факторів.
Я запропоную виграш у 250 балів, якщо хтось докаже чи спростує це у своїй відповіді.Томас Ква запропонував елегантний доказ , і я нагородив щедротою.