Давайте определим автономное число как положительное целое число, цифры которого появляются в сериях длины, равной только им самим. Другими словами, любая десятичная цифра d (исключая 0 ) встречается только в сериях длиной ровно d .
задача
Вы можете выбрать любой из трех методов, перечисленных ниже:
- Если задано целое число n , выведите n- ое (0 или 1-индексированное) отдельное число.
- Учитывая целое число n , выведите первые n автономных чисел.
- Печатайте последовательность бесконечно.
Примеры
133322 является автономным числом, потому что 3 появляется в серии из трех 3 , 1 - один, а 2 - в серии из двух 2 .
С другой стороны, 35553355 нет, потому что, хотя 5 и 3 встречаются пять и три раза соответственно, они не образуют серии соседних цифр.
44422 не является автономным, потому что 4 встречается только три раза.
12222333 тоже нет, потому что 2 появляется в серии из четырех 2 , и его нельзя рассматривать как два отдельных цикла из двух 2 .
Не удивительно, что это OEIS A140057 , и его первые несколько терминов:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
Вы можете принимать и выводить данные любым стандартным методом на любом языке программирования , при этом отмечая, что эти лазейки по умолчанию запрещены. Это код гольф, поэтому выигрывает самый короткий код в байтах (на каждом языке).
i
станет длинным ? Это может быть необходимо для использованияstr
(хотя я никогда не уверен в этих вещах, хотя).Mathematica, 66 байт
Печатает последовательность бесконечно
Попробуйте онлайн!
В TIO вы должны прекратить выполнение, чтобы увидеть результат, но в Mathematica работает нормально.
-12 байтов от Мартина Эндера
источник
05AB1E , 9 байтов
Возвращает n-й член последовательности, 1-индексированный.
Попробуйте онлайн!
объяснение
источник
µNγD€gs€ÙQ
JavaScript (ES6),
767168 байтВозвращает n-й член последовательности с 0 индексами.
NB : Как всегда с рекурсивными функциями, диапазон ввода зависит от поддержки Tail Call Optimization и размера стека вашего движка.
демонстрация
Показать фрагмент кода
Чередующийся версия, 65 байт
Не принимает никаких данных и печатает результаты по
alert()
одному.Попробуйте онлайн! (Останавливается, как только будет превышен максимальный размер стека.)
источник
Желе , 7 байт
Попробуйте онлайн!
-4 байта благодаря раннему предложению г-на Xcoder .
-1 спасибо Джонатану Аллану .
Принимает участие от STDIN.
источник
CJam , 20 байтов
Попробуйте онлайн!
Объяснение:
источник
Haskell , 70 байт
источник
x=
согласно нашим правилам игры в гольф .Брахилог , 10 байт
Попробуйте онлайн!
Бесконечно генерирует элементы последовательности через свою входную переменную. (Если это действительно должно сделать саму печать, добавьте
&ẉ⊥
.) По сути, это код для решения соответствующей задачи решения с≜
добавлением грубой силы сначала к наименьшим решениям:Я ожидал, что это займет всего 9 байтов, но,
ḅ
похоже, требуется явноеẹ
разделение цифр числа на прогоны.источник
JavaScript 4,
8380 байтисточник
Perl 6 , 49 байт
Попробуйте онлайн!
Возвращает
n
-й элемент последовательности с нулевым индексом.источник
\d
Может быть просто.
R , 56 байт
Попробуйте онлайн!
Использует кодирование длины серии для разделенного числа. Возвращает true, если все длины равны значениям.
Примечание: я загрузил
methods
библиотеку в TIO, чтобы приступитьel
к работе.источник
Stax , 10 байт
Запустите и отладьте его
Эта программа фильтрует все натуральные числа с помощью фильтра. Цифры кодируются по длине прогона. Для каждого прогона цифра должна равняться длине прогона.
источник
Пиф, 12
Тест онлайн!
источник
.fqFCr8jZT
Perl 5
-p
, 48 байтПопробуйте онлайн!
Возвращает n-й элемент, 1 проиндексированный.
источник
Java 10, 121 байт
Лямбда из
int
вint
. Функция принимает индекс n и возвращает n- е (1-индексированное) значение последовательности.Попробуйте онлайн
Ungolfed
источник