Фон
Люди говорили о факторизации в чате, и мы говорили о встречах. Повторные объединения представляют собой подмножество чисел, известных как повторные обозначения, которые представляют собой числа, состоящие только из повторяющихся цифр, таких как 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 с n >= 2помощью STDIN или его эквивалента выводит или возвращает новые простые множители для R n в любом удобном формате. «Новые простые факторы» здесь означают все, 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 баллов, если кто-то докажет или опровергнет это в своем ответе.Томас Ква предложил элегантное доказательство , и я наградил награду.
