Генерация порядкового номера оснований, в которых n
находится палиндром ( OEIS A126071 ).
В частности, последовательность определяется следующим образом: задайте число n
, укажите его в базе a
для a = 1,2, ..., n
и посчитайте, сколько из этих выражений являются палиндромными. «Палиндромный» понимается как обращение базовых a
цифр выражения как атомных единиц (спасибо, @Martin Büttner ). В качестве примера рассмотрим n= 5
:
a=1
Выражение11111
: палиндромнаяa=2
Выражение101
: палиндромнаяa=3
: выражение12
: не палиндромноеa=4
Выражение11
: палиндромнаяa=5
: выражение10
: не палиндромное
Поэтому результат для n=5
есть 3
. Обратите внимание, что OEIS использует базы 2, ..., n+1
вместо 1, ..., n
(спасибо, @beaker ). Это эквивалентно, потому что выражения в базе 1
и n+1
всегда палиндромные.
Первые значения последовательности
1, 1, 2, 2, 3, 2, 3, 3, 3, 4, 2, 3, 3, 3, 4, 4, 4, 4, 2, 4, 5, ...
На входе положительное целое число n
. Выходными данными являются первые n
члены последовательности.
Программа должна теоретически работать (учитывая достаточное количество времени и памяти) для любых n
ограничений, вызванных вашим типом данных по умолчанию в любых внутренних вычислениях.
Все функции разрешены. Наименьшее количество байтов побеждает.
источник
Ответы:
Pyth, 13 байт
Краткость этого в основном объясняется
I
ценной командой «I
nvariant».Если
True
это приемлемый вывод для1
,msm_IjdkSdSQ
(12 байт) работает.Попробуй это здесь .
источник
_I#
вместоf_IT
(я не уверен на 100%, что это было доступно, но, кажется, было ).Желе, 14 байт
Попробуйте онлайн!
Неконкурентная версия
У интерпретатора Jelly была ошибка, делавшая невозможным преобразование в одинарное. Это было исправлено, поэтому следующий код ( 12 байт ) также выполняет поставленную задачу.
Попробуйте онлайн!
Как это устроено
источник
MATL , 19
20байтИспользует текущий выпуск (10.1.0) , который является более ранним, чем этот вызов.
Попробуйте онлайн !
объяснение
источник
CJam, 20 байтов
Проверьте это здесь.
источник
Haskell, 88 байт
источник
ES6, 149 байт
Работает для баз> 36 тоже.
источник
JavaScript (ES6),
10595 байтобъяснение
Принимает число от 1 до 36 (ограничение базового преобразования в JavaScript) и возвращает массив последовательности.
Рекурсивная функция, которая проверяет палиндромы при передаче базы, в противном случае возвращает последовательность, если она только
n
что передана.Тестовое задание
источник
Желе , 8 байт
Попробуйте онлайн!
Возможно неконкурентная версия:
Попробуйте онлайн!
источник
PHP, 73 + 1 байт
работает на базах
1
до36
. Запустите как трубу с-nR
или попробуйте онлайн .источник
PHP, 92 + 1 байт:
работает на всех базах. Запустите как трубу с
-nR
или попробуйте онлайн .источник
Python 2, 97 байт
Мой первый пост на Python, вообще-то мой первый код на Python,
вероятно, имеет некоторый потенциал для игры в гольф.
Попробуйте онлайн!
источник
> <>, 197 + 2 байта
+2 для флага -v
tio.run, похоже, не возвращает никаких выходных данных для n> 1, но вы можете проверить это на https://fishlanguage.com . Ввод идет в поле «Начальный стек».
источник
Japt , 10 байт
Попытайся
объяснение
источник
Python 2 , 85 байт
Попробуйте онлайн!
Ожидает целое число в качестве аргумента.
Объяснение:
источник