Вызов:
Получив строку s
символов a
- z
, A
- Z
, 0
- 9
, добавьте длину s
к себе, считая дополнительные символы в длине как часть общей длины s
.
Входные данные:
Просто строка произвольной длины (может быть пустой).
Выход:
Та же строка, но с длиной, добавленной в конец. Символы, представляющие длину, также должны учитываться как часть длины. В случаях, когда требуется добавить несколько допустимых длин, выберите наименьшую возможную (см. Примеры тестов).
Тестовые случаи:
INPUT -> OUTPUT // Comment
aaa -> aaa4
-> 1 // Empty string
aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above
aaaaaaaaa -> aaaaaaaaa11
a1 -> a13 // Input can contain numbers at the end of the string, you do not have to handle the fact that it looks like 13 rather than 3.
Longer test case(s):
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa101
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa102
Правила:
Это код-гольф , поэтому выигрывает самый короткий код в байтах. Стандартные лазейки запрещены. Представления могут быть целой программой или функцией, и вы можете либо распечатать результат в стандартный вывод, либо вернуть его как переменную из функции.
code-golf
string
code-golf
string
random
code-golf
array-manipulation
code-golf
ascii-art
kolmogorov-complexity
random
code-golf
array-manipulation
code-golf
stateful
code-golf
hello-world
code-golf
string
code-golf
interpreter
lisp
code-golf
restricted-source
quine
palindrome
code-golf
ascii-art
random
generation
challenge-writing
ascii-art
random
polyglot
maze
answer-chaining
string
cops-and-robbers
whitespace
code-golf
string
cops-and-robbers
whitespace
code-golf
number
sequence
code-golf
date
code-golf
ascii-art
decision-problem
code-golf
combinatorics
chemistry
code-golf
kolmogorov-complexity
source-layout
radiation-hardening
code-golf
ascii-art
path-finding
maze
code-golf
string
ascii-art
game
animation
code-golf
string
ascii-art
code-golf
ascii-art
kolmogorov-complexity
code-golf
restricted-source
new-years
Yodle
источник
источник
Ответы:
Pyth - 7 байт
Попробуйте это онлайн здесь .
источник
JavaScript (ES6), 32 байта
Как это устроено
Начиная с
N=0
, мы проверяем N-й символ ( начиная с 0) строки, составленной из конкатенации исходной входной строки и десятичного представленияN
. Мы увеличиваем,N
пока этот символ больше не существует.Пример:
Контрольные примеры
Показать фрагмент кода
источник
Латекс, 108/171
\q[] //1
источник
JavaScript (ES6), 37 байт
источник
Run Code Snippet
я вижу сообщение об ошибке. Я не знаю Javascript - я просто пыталсяVersion 48.0.2564.97
). Я попробую это с IE тоже. Не могу обновить мой chrome - проблемы безопасности офисаC
676561 байтWandbox
источник
Lua 5.2, 32 байта
Где переменная а является входной строкой.
источник
Пайк, 8 байт ( старая версия )
Объяснение:
Попробуй это здесь! (Новая версия, 9 байт)
источник
Python 2,
544846 байтПростое решение Рекурсия оказалась короче.
Попробуйте онлайн
источник
(s+`n`)[n:]
дляn<len(s+`n`)
.Haskell, 46 байтов
Пример использования:
f "aaaaaaaa"
->"aaaaaaaa9"
.Просто попробуйте все числа, начинающиеся с 0, и возьмите первое, которое подходит.
источник
Mathematica, 57 байт
Безымянная функция, принимающая массив символов в качестве входных данных и возвращающая строку. Используется тот факт, что если
a
длина ввода, то число, добавляемое к входу,a
плюс число цифр в (a
+ длинаa
), а не простоa
плюс число цифрa
. К сожалению, это не даст правильный ответ для ввода пустой строки без~Max~1
специального случая.источник
Брахилог , 13 байт
Попробуйте онлайн!
объяснение
В основном описание проблемы. Он будет проверять каждое значение,
L
превышающее длину ввода, пока не найдет значение, для которого при конкатенации с входом будет длина этой конкатенации.источник
Brainfuck, 258 байт
Ввод должен быть завершен переводом строки (LF). Работает только для входов с длиной менее 256 (включая LF).
Попробуйте онлайн!
объяснение
Примечание: я использовал код из этого SO-ответа, чтобы преобразовать длину в вывод ascii; Я надеюсь, что это приемлемо на PPCG. Это моя первая заявка на Codegolf и моя вторая программа BF. Обратная связь приветствуется.
источник
Сетчатка , 22 байта
Попробуйте онлайн!
Что ж, если бы не цифры, появляющиеся на входе, это было бы всего 11 байтов:
источник
Рубин,
625856 байтПроверено в
irb
.Возможно, есть лучший способ сделать это, но это было первое, что я придумал. Любая помощь в гольф будет оценена.
редактировать: я понял, что использование скобок было чрезмерным.
источник
l
в одном месте. Если вы включите это, вы сэкономите 3 байтаl=;
. Но ваше решение все равно будет длиннее моего;)Perl 6 ,
4635 байтПопробуй
Expanded:
источник
05AB1E , 11 байт
Довольно простая грубая сила:
Попробуйте онлайн!
источник
Python, 39 байт
Более длинная форма:
Итеративно в Python 2 (41 байт):
Начиная с
x
входной строкиa
, применяет преобразованиеx -> a + str(len(x))
три раза. Мне до сих пор не ясно, зачем нужны три приложения, чтобы всегда достигать фиксированной точки.источник
PHP, 42 байта
Беги с
-r
. Тест на OnlinePHPфункциях .источник
bash, 47 байт
Сохраните это как скрипт и передайте входную строку в качестве аргумента.
Это реализация грубой силы: попробуйте каждый номер по очереди, пока не найдете тот, который работает.
источник
> <> (Рыба) 35 байт
Делает ввод в стек, проверяет длину по значениям 9,99,999 ... и, если длина больше, чем 1, добавьте к длине стека.
источник
Haskell ,
6160 байтПопробуйте онлайн!
Рекурсивное решение. Использование:
источник
C #, 77 байт
источник
return(n+(a+1+c))
какa=n.Length
?-1
отint c=(a+1).ToString().Length-1
и+1
от возвращения?aa...a100
вместо тестаaa...a101
99a
.MATL , 11 байт
Попробуйте онлайн! Или проверьте все тестовые случаи .
источник
Ruby, 51 байт (программа)
Рубин, 49 байт (функция)
Программа (последняя новая строка не нужна и, следовательно, не отмечена):
Функция (последний перевод строки отмечен):
источник
Фактор, 55 байт
Это прогулка в парке! Я придумал это в своей голове, как только прочитал вопрос.
источник
Clojure, 72 байта
источник
R, 49 байт
Довольно простое решение.
источник
Read 1 item Error in nchar(x + 1) : object 'x' not found
. Я обнаружил, что(t<-nchar(a))+...
это сработало.Вольфрам, 56
Учитывая
l = StringLength[x]
это присоединяетl + IntegerLength[l + IntegerLength[l]]
кx
.источник
Лабиринт ,
484541 байтПопробуйте онлайн!
Сохранено 4 байта, благодаря @Martin Ender
источник
ForceLang, 83 байта
источник