Рассмотрим число 99999999. Это число явно палиндром. Наибольший коэффициент 99999999 равен 137. Если вы разделите 99999999 на 137, вы получите 729927. Это число также является палиндромом.
Наибольший простой коэффициент 729927 равен 101. 729927/101 = 7227, который снова является палиндромом.
Наибольшее простое число 7227 составляет 73. 7227/73 = 99, который снова является палиндромом.
При дальнейшем делении на наибольший простой множитель вы получите 9, 3 и, наконец, 1, которые, будучи однозначными числами, также являются палиндромами. Поскольку 1 не имеет простых факторов, процедура заканчивается здесь.
Теперь, обобщая это наблюдение, я определяю суперпалиндром как палиндром, который либо равен 1, либо дает другой суперпалиндром, если его разделить на его наибольший простой множитель.
Кредиты: /math/200835/are-there-infinite-many-super-palindromes
Учитывая число N , определите, является ли он суперпалиндромом или нет, и выведите соответственно значение truey или false.
Ваша программа должна напечатать истинное значение для этих входных данных:
1
101
121
282
313
353
373
393
474
737
919
959
1331
1441
2882
6446
7887
8668
9559
9779
Ваша программа должна напечатать значение Falsey для этих входных данных:
323
432
555
583
585
646
642
696
777
969
989
2112
3553
4554
5242
5225
5445
8080
8118
9988
Помните, что это код-гольф , поэтому выигрывает код с наименьшим количеством байтов.
источник
N
всегда палиндромом для начала?Ответы:
Желе ,
131298 байтПопробуйте онлайн! или проверьте все контрольные примеры .
Как это работает
источник
Mathematica, 64 байта
Безымянная функция, возвращающая
True
илиFalse
. Формирует список, начиная с ввода, затем итерируя функцию «я делю на мое наибольшее простое множитель», пока результат не изменится. (К счастью, Mathematica теперь считает, что наибольшее простое число 1 равно 1.) Затем проверяет, являются ли записи списка палиндромами (да, встроенные модули! Длина имени функции boo!) ИAnd
сопоставляет их все вместе.источник
FactorInteger[1]
странности сFixedPoint
Mathematica, 51 байт
Рекурсивная анонимная функция. Принимает число как ввод и возвращает
True
илиFalse
как вывод.источник
05AB1E ,
98 байтСохранил байт благодаря Аднану .
Попробуйте онлайн!
объяснение
n = 7227
используется в качестве примераисточник
Ò.pPDíïQ
также должно работать.Pyth -
1512 байтУдар желе: P: /К сожалению, все эти неявные карты не становятся короче, когда объединяются в явную, поскольку последняя является автоматическим разделением.
Тестовый пакет .
Получает все префиксы первичной факторизации, продуктами которой будут промежуточные суперпалиндромы, и проверяет, все ли они являются палиндромами.
источник
Mathematica,
7163 байтаобъяснение
Фактор ввода. (например
8668 -> {{2, 2}, {11, 1}, {197, 1}}
, для каждого списка в выходных данных первый элемент является основным фактором, а второй - степенью.Для каждой пары фактор-мощность дублируйте первый элемент вторым элементом и сгладьте все это. (
{{2, 2}, {11, 1}, {197, 1}} -> {{2, 2}, {11}, {197}} -> {2, 2, 11, 197}
)Итерируйте по списку, умножая элементы. (
{2, 2, 11, 197} -> {2, 2 * 2, 2 * 2 * 11, 2 * 2 * 11 * 197} -> {2, 4, 44, 8668}
)Проверьте, все ли полученные числа являются палиндромами, и примените
And
оператор. ({2, 4, 44, 8668} -> {True, True, True, True}
->True
)источник
Брахилог , 14 байт
Попробуйте онлайн!
объяснение
Это реализует формулу, объясненную в описании вызова.
Вычисление всех произведений суффиксов простой факторизации и проверка того, что все они являются палиндромами, на 1 байт длиннее (
1|$p:@]f:{*.r}a
).источник
Ракетка 238 байт
Ungolfed:
Тестирование:
Выход:
источник
palin
имела имя длиной пять байт?J, 30 байт
Ошибка для фальси, 1 для правды.
Начальная попытка, не ошибка для фальси, 40 байт:
объяснение
Контрольные примеры
источник
아희 (Aheui) , 309 байтов (100 символов * 3 байта + 9 новых строк)
Я так счастлив, что я действительно закончил это!
Я новичок в этом языке, поэтому любые советы по улучшению количества байтов приветствуются.
Попробуй это здесь! (скопируйте и вставьте код)
Более чистая версия
источник
Scala, 138 байт
Ungolfed:
Объяснение:
источник
JavaScript (ES6), 78 байт
Рекурсивно создает основные префиксы факторизации и проверяет их на палиндромность.
источник
Java 7, 133 байта
Ungolfed
источник
На самом деле , 29 байт
Вероятно, есть несколько разделов этого кода, которые можно было бы сыграть в гольф, хотя я еще не уверен, где именно. Предложения по игре в гольф приветствуются. Попробуйте онлайн!
Ungolfing
источник