задача
Напишите программу, которая будет принимать (в качестве входных данных) положительное целое число. Затем он будет отсчитывать от 0
, добавляя каждое целое число к a String
, только продолжая, если длина String
меньше значения ввода.
Сериализованное целое число определяются как полностью сформированное целое с максимальным значением , принадлежащим к String
. В «полностью сформированном» целое число не должно иметь пропущенных цифр (что может произойти, если соблюдается ограничение длины String
).
Выходные данные программы должны быть сериализованным целым числом для соответствующего положительного входа.
правила
- Это код гольф, поэтому самый короткий ответ (в байтах) выигрывает!
- Вход всегда будет положительным.
- Выходные данные должны быть целыми числами в десятичной системе счисления.
- Программа должна быть 0-проиндексирована.
Пример ввода | Выход
5 | 4 (0 1 2 3 4 - Length of 5)
11 | 9 (0 1 2 3 4 5 6 7 8 9 1 - Length of 11)
12 | 10 (0 1 2 3 4 5 6 7 8 9 10 - Length of 12)
1024 | 377 (0 1 2 3 4 5 6 7 8 ... - Length of 1024)
Примечания)
- Если у вас есть какие-либо вопросы (или вы хотите, чтобы я привел больше примеров), пожалуйста, прокомментируйте!
- Вдохновение: /programming/45034478/how-do-i-calculate-the-maximum-serialized-integers-in-1024-length-limit
11
N-1
цифры константы Champernowne , с0
префиксом?Ответы:
JavaScript (ES6),
4037 байтРедактировать: 3 байта сохранены с помощью @Arnauld.
источник
05AB1E ,
107 байтовИдея использовать префиксы от Jonathan's Jelly answer
Попробуйте онлайн!
объяснение
источник
Python 2 , 55 байт
Рекурсивный лямбда-порт из ответа @ officialaimm .
Попробуйте онлайн!
источник
Japt , 13 байт
Проверьте это онлайн!
объяснение
источник
PHP , 56 байт
Попробуйте онлайн!
источник
Haskell ,
555350 байтПопробуйте онлайн!
Использование
(1024#"") 0
источник
Python 2 ,
60 5958 байтПопробуйте онлайн!
источник
Желе ,
11 109 байтМонадическая ссылка, принимающая положительное целое число и возвращающая неотрицательное целое число.
Попробуйте онлайн!
Как?
редактирование ...
источник
Pyth,
87 байтовПопробуйте онлайн. Тестирование.
источник
< num seq
было также очень полезно.Perl 6 , 36 байт
Попробуйте онлайн!
0 ...^ {...}
последовательность чисел от нуля до единицы, меньшая числа, для которого блок кода в фигурных скобках возвращает значение true. (...
без каретки вернуло бы первое число, для которого блок вернул true.)[~] 0 .. $^a
является объединением чисел от0
текущего номера$^a
(параметр до кодового блока)..comb
список всех символов (цифр) в объединенной строке Интерпретируется как число, оно оценивается по длине строки..chars
было бы более естественно использовать здесь, так как он оценивает непосредственно до длины строки, но имя на один символ длиннее.$_
является аргументом функции верхнего уровня.[*-1]
выбирает последний элемент сгенерированного списка.источник
QBIC , 34 байта
объяснение
источник
Python 2 , 44 байта
Попробуйте онлайн!
источник
J, 26 байт
источник
R , 43 байта
Попробуйте онлайн!
источник
WendyScript , 42 байта
Попробуйте онлайн!
Ungolfed:
источник
PHP, 41 байт
Попробуйте онлайн .
источник
Java 8, 64 байта
Или небольшие альтернативы с тем же количеством байтов:
Объяснение:
Попробуй это здесь.
источник
Рубин , 39 байт
Попробуйте онлайн!
источник
Рубин, 44 байта
Вдохновленный ответом JAVA Кевина Круйссена. -4 байта благодаря G B.
источник
Perl 5 , 31 + 1 (
-p
) = 32 байтаПопробуйте онлайн!
источник