Вот довольно тривиальная последовательность, которой нет в онлайн-энциклопедии целочисленных последовательностей .
Начните с пустой последовательности, затем определите каждый термин как количество символов, необходимое для записи на английском языке всех цифр последовательности до сих пор без пробелов. *
Для справки: количество символов всех (базовых десяти) цифр на английском языке:
zero one two three four five six seven eight nine
4 3 3 5 4 4 3 5 5 4
(Это начало как A52360, так и A5589 .)
Это делает первую запись поскольку в пустой последовательности присутствуют нулевые цифры.
Это делает вторую запись поскольку для записи «нуля» требуется четыре символа - единственная цифра, присутствующая на данный момент.
Это делает третью запись как для записи «четыре» требуется еще четыре символа, а для записи «zerofour» - восемь.
Это делает четвертую запись так как требуется еще пять символов, чтобы написать «восемь», в общей сложности тринадцать, чтобы написать «zerofoureight».
Это делает пятую запись так как требуется еще восемь символов, чтобы написать «onethree», в общей сложности двадцать один, чтобы написать «zerofoureightonethree».
...и так далее. Вот первые 100 записей:
0, 4, 8, 13, 21, 27, 35, 44, 52, 59, 67, 75, 84, 93, 102, 112, 121, 130, 142, 152, 162, 171, 182, 193, 205, 216, 225, 235, 247, 259, 270, 282, 293, 305, 318, 331, 344, 357, 371, 384, 398, 412, 422, 432, 444, 456, 467, 479, 492, 503, 516, 526, 536, 548, 561, 571, 583, 597, 610, 620, 630, 642, 652, 662, 671, 682, 693, 705, 718, 731, 744, 757, 771, 784, 798, 812, 823, 836, 849, 862, 873, 888, 903, 916, 926, 936, 948, 961, 971, 983, 997, 1010, 1024, 1038, 1055, 1070, 1086, 1101, 1114, 1127
* Мы можем определить его для других языков и / или других баз или, конечно, с пробелами
Соревнование
Учитывая выходных данных, в минимально возможном количестве байтов кода, любой из:
- Первые членов последовательности (должны работать для неотрицательных целых чисел)
- Значение (должно работать для неотрицательных целых чисел)
- - й член последовательности (должен работать для положительных целых чисел - то есть значение ( п - 1 ) )
Это код-гольф, поэтому самый короткий ответ в байтах выигрывает для каждого языка, а самый короткий ответ в байтах. Не позволяйте языкам гольфа помешать вам войти в ваш любимый язык, будь то практический или эзотерический!
источник
1
должен выводить[0]
и0
должен выводить[]
или 2)0
должен выводить[0]
(как в моем предыдущем ответе)?Ответы:
Perl 6 , 45 байт
Попробуйте онлайн!
Нет необходимости в модной модуляции, когда вы можете получить название цифры напрямую! Блок анонимного кода, который возвращает n-е значение последовательности, или вы можете передать диапазон, чтобы получить список значений
Объяснение:
источник
»
один байт, верно? Кроме того, он[+]
может быть более симпатичным и намекать на то, как бинарные операции могут стать редукторами, ноsum
также на три байта и в соответствии с остальной частью решения, которое может быть не самым коротким, но, несомненно, самым элегантным для гольфа.»
- два байта, поэтому он взаимозаменяем.say '»'.encode('latin1').bytes
отображается1
. :)JavaScript (ES6),
69686158 байтВозвращаета ( н ) .
Попробуйте онлайн!
Как?
Цифраd преобразуется в число N букв с помощью:
Поскольку число разбито на цифры, мы можем обработатьd× 100 + 10 , просто добавив 10 (как конкатенация строк).
источник
Stax ,
1413 байтЗапустите и отладьте его
Ключевым моментом здесь является то, что цифра
d
требует((4 - 2 * d) // 3) % 3 + 3
букв для написания. (Это целочисленное деление Python и неотрицательный модуль в стиле Python)источник
Пип , 21 байт
объяснение
источник
large constant to the power of pi
и был монументально впечатлен. (Это все еще впечатляет, но моя первоначальная интерпретация была просто .. больше)Wolfram Language (Mathematica) , 57 байтов
Попробуйте онлайн!
Tr@StringLength@IntegerName@IntegerDigits@#&
перечисляет цифры#
, преобразует каждую из них в английское имя, подсчитывает длину и суммирует результаты. Много вещей пронизывают списки, это очень интересно. Затем мы просто итеративно применяем определение.TIO жалуется, что у него нет подключения к Интернету, но я не уверен, почему, потому что в любом случае он находит правильный ответ. Может быть, это проверка обновлений имен целых чисел?
Nest
NestList
источник
Чисто , 82 байта
Попробуйте онлайн!
источник
05AB1E ,
1514 байтовПопробуйте онлайн!
объяснение
источник
APL (Dyalog Unicode) ,
2928 байтПопробуйте онлайн!
Спасибо ребятам из The APL Orchard за помощь в этом:
@ngn для 2 байтов; @ H.PWiz для
34 байта.Теперь, используя формулу @ recursive.
Как:
источник
Python 2 , 61 байт
Попробуйте онлайн!
Использует рекурсивное отображение числа цифр .
Python 2 , 63 байта
Попробуйте онлайн!
Версия рекурсивной функции. Это требует экспоненциального времени для запуска, потому что он имеет два рекурсивных вызова
f(n-1)
.источник
+3
и ограничил его арифметическими операторами (не поразрядными) и числами <= 4, я нашел это решение, но ничего короче или даже такой же длины, кроме эквивалентов.Python 2 , 71 байт
Попробуйте онлайн!
источник
f=lambda n,k=0:n and f(n-1,k+sum(632179420>>3*int(d)&7for d in`k`))or k
то же самое количество, но избегает вывода списка включения.MathGolf , 17 байт
Попробуйте онлайн!
Это использует метод Арно . Выводит n-й элемент последовательности. Если с пустой строкой все в порядке
a(0)
, то мы могли бы удалить ее0\
в начале.Объяснение:
источник
Pyth , 21 байт
Попробуйте это онлайн здесь .
источник
очень вероятно, что в кодовой странице Pyth нет ни одного байта. (Я думаю, что он использует UTF-8, в этом случае он имеет 3 байта иj7163 3
имеет одинаковую длину; но tio.run говорит, что у Pyth есть SBCS. Таинственный!)Рубин , 54 байта
Попробуйте онлайн!
источник
Java (JDK) , 95 байт
Попробуйте онлайн!
источник
JavaScript (Node.js) , 82 байта
Попробуйте онлайн!
источник
Желе , 13 байт
Попробуйте онлайн!
0 индексированные.
Полная программа; принимает данные от STDIN.
источник
Красный ,
9995 байтПопробуйте онлайн!
Просто простое решение.
источник
J 37 байт
Попробуйте онлайн!
Использует метод Арно
Объяснение:
Аргумент
n
источник
Отредактировано после 1-го комментария.
Печатает все условия
Скала, 76 байт
Попробуйте онлайн!
Печатает n- й срок
Scala, 72 байта
Скала, 69 байт
Скала, 67 байт
Скала, 67 байт
Попробуйте онлайн!
источник
n
определения). Если вы знаете Scala, это, вероятно, легко исправить. Также обратите внимание, что есть советы по игре в гольф в Scala, которые могут помочь. Наконец, приятно опубликовать ссылку на онлайн-переводчика, TIO имеет Scala и используется многими членами PPCG.