Вызов:
Вам дают базовый номер 10. Для каждой базы от 10 в обратном порядке до базы 2:
- Возьмите исходный входной номер в качестве базовой 10-й строки и удалите все цифры номера, которые являются недопустимыми для базовой.
- Интерпретировать полученную числовую строку в этой базе. Если это дает 1 или 0, завершите весь процесс.
- Выведите или выведите его наибольший простой множитель в виде десятичного числа.
Выход может быть массивом из самых больших простых факторов.
Примеры случаев:
Входные данные:
987654321
Выход:
379721
10593529
1091
179
1493
293
19
7
С другой стороны:
[379721,10593529,1091,179,1493,293,19,7]
Это печатает наибольшие простые множители 987654321, 87654321 9 = 42374116 10 , 7654321 8 = 2054353 10 и так далее, пока не достигнет 1 2 , где он останавливается.
code-golf
math
primes
base-conversion
poi830
источник
источник
Ответы:
Pyth, 25 байт
Попробуй это здесь.
источник
Pyth - 16 байт
Попробуйте это онлайн здесь .
Иногда на входах есть несколько пустых строк без всех цифр, позвольте мне знать, если это проблема.источник
MATL ,
1715 байтЭто принимает число в виде строки с кавычками, что разрешено по умолчанию.
Попробуйте онлайн!
объяснение
источник
Юлия, 101 байт
Это рекурсивная функция, которая принимает входные данные в виде строки и возвращает массив.
Ungolfed:
источник
Mathematica, 83 байта
Анонимная функция, возвращает список. Не так сложно, если честно.
источник
Рубин, 120 байт
Рекурсивная функция, принимает входные данные в виде строки.
источник
-rprime
флаг командной строки вместоrequire
.-rprime
у меня почему-то не работает ...Пайк, 19 байт, неконкурентный
(добавить функцию splat_node)Попробуй это здесь!
Принимает ввод в кавычках, выходит с ошибкой.
Пояснение (новая строка заменена на \ n):
источник