Номер неинтересного (который я полностью не выдумывал только для этой задачи) создаются следующим образом:
- Возьмите положительное целое число N
- Создайте новое число O, добавив цифры N в конце N
- Финальный неинтересный номер O * N
Например, для N = 12:
- O = 1212
- O * N = 1212 * 12
- Финальный номер 14544
вход
Целое положительное число N (N> 0) или эквивалент вашего языка. Вам не нужно ловить неправильный ввод.
Выход
Соответствующий неинтересный номер.
Контрольные примеры
1 -> 11
2 -> 44
3 -> 99
10 -> 10100
174 -> 30306276
счет
Самый короткий код в байтах побеждает.
Ответы:
05AB1E , 3 байта
Разъяснения
Попробуйте онлайн
источник
str
и*
интерпретирует строку как число. Очень полезно :)JavaScript (ES6), 10 байт
Должен быть вызван с аргументом как, а
String
не какNumber
.Использование:
-3 байта благодаря предложению @Quill .
источник
_=>(_+_)*+_
_
в качестве произвольного символа для переменной? (PS -(_+_)
полностью похож на задницу)$
также будет работатьn=>(1+10**-~Math.log10(n))*n*n
(к сожалению-~
, более высокий приоритет, чем**
) или 31 в ES6n=>-~`1e${-~Math.log10(n)}`*n*n
. Даже рекурсия заняла у меня 32 байта:f=(n,m=1)=>n<m?-~m*n*n:f(n,m*10)
Java 8,
29 26 2521 байтБоже, благослови лямбду
c-> Long.decode (с + "" + с) * с;источник
VIM, 11
crcrcrcrcr ...
источник
<C-r>
непечатно.<C-r>
возврат каретки?<C-r>
это контроль плюс r. Возврат каретки есть<cr>
.Pyth,
54 байтаОбъяснение:
Проверьте это здесь .
источник
Emacs, 17 байт
(*SPACEC-SPACEC-EM-YSPACEC-YC-Y)C-J
объяснение
(*
в точке (перед номером);)
в конце;Exemple
Курсор представлен трубкой (
|
)|174
(* |174
(* 174|
(* 174 |
(* 174 174174|
(* 174 174174)|
Результат
источник
C #,
1923 байтаБез строк, 47 байт
источник
(n)=>{int.Parse(""+n+n)*n}
2;
?Python 2.7, 21 байт:
Ну, это должен быть самый короткий ответ Python, который я когда-либо писал за самое короткое время. Это анонимная лямбда-функция, которую можно выполнить, назвав ее как угодно, а затем вызвав ее, как обычную функцию, заключенную в
print()
. Например, если ваш ввод12
и функция была названаH
, это будет называться какprint(H(12))
.Попробуйте онлайн! (Ideone)
Обратите внимание, что это работает только для значений выше и равно
9223372036854775807
любому более высокому значению иrepr()
ставит aL
в конце целого числа. Следовательно, для значений больше, чем9223372036854775807
эта 24-байтовая версия будет работать:Попробуйте это онлайн! (Ideone)
источник
Желе, 4 байта
Попробуйте онлайн
объяснение
источник
;DDx
Ḍ
всего 1 байт? Обычно мы используем UTF-8, для которого требуется 3 (а × занимает 2, но это 1 байт, например, в ISO8859-1).С
706854535244Предыдущая версия (48 байт, без математических функций), сэкономлено 16 байт благодаря @LeakyNun, 1 байт благодаря @FryAmTheEggman, 4 байта благодаря @TobySpeight:
Вызов
f()
с одним аргументом номер, и он вернет соответствующий неинтересный номер.Тестовая программа
Результаты теста:
Попробуйте онлайн!
источник
f(n){int b=1;while(a)b*=10,a/=10;return(n+n*b)*n;}
math.h
, но вам это сходит с рук в GCC, гдеlog10()
иpow()
встроены, и компилятор просто предупреждает о «несовместимом неявном объявлении встроенной функции», а не предполагает (как это должно), что они оба возвращаютсяint
.a
...Dyalog APL , 7 байтов
⍕
строковое представление⍕,
предварительное представление строки#⍎
превратить в число (в корневом пространстве имен)⊢×
умножить на оригинальное числоисточник
J 7 байт
объяснение
источник
Under
это работает должным образом с конкатенацией строк. Какое великое открытие для меня! Спасибо.* ,~ &.": n
, и не может быть использован при формировании других глаголов.Сетчатка ,
2720 байтСтановится немного медленным для больших входов, потому что перед последним этапом результат представляется в унарном виде.
Попробуйте онлайн! (Первая строка включает набор тестов, разделенных переводом строки.)
объяснение
Я буду использовать
2
в качестве примера ввода (потому что унарные представления становятся немного громоздкими для больших входов).Этап 1: Замена
Сопоставляя начало строки с,
^
мы просто добавляем некоторые вещи.$_
относится к самой входной строке и$*:
означает, что мы вставляем столько двоеточий. Итак, мы получаем:Этап 2: Замена
Теперь мы сопоставляем каждое
:
и снова заменяем его$_$*:
. Конечно, в этот раз$_
вычисляется не целое число (но:: 22
в нашем примере), а$*
просто выполняется поиск первого десятичного числа в строке, поэтому он оценивает входные данные, сцепленные с самим собой (O
в спецификации вызова). В итоге мыN*O
получим двоеточия, а затемO
:Этап 3: Матч
Осталось только посчитать
:
s для преобразования из унарного обратно в десятичное, что и делает этот этап.источник
CJam , 8 байт
Попробуйте онлайн!
источник
r__+i\i*
, который имеет такую же длину.r__+si*
, гдеs
есть «применить эту операцию через стек»), но я не вижу ничего подобногоЖеле,
86 байтПопробуйте онлайн!
объяснение
источник
³
.Awk, 13 байт
Установите строку на 2 из себя умножается на себя
источник
Брахилог , 7 байт
объяснение
источник
Python, 42 байта
Чисто арифметический подход, без строк!
Идео это!
источник
Matlab / Octave, 20 байтов
Это анонимная функция, которая принимает входные данные в виде строки.
Пример использования:
Или попробуйте онлайн с ideone .
объяснение
Код строит строку, конкатенируя входную строку дважды, затем символ
*
(который имеет код ASCII 42), затем строку снова. Связанная строка затем оценивается.источник
42
значит?*
*
снова строку. Связанная строка затем оценивается. Я отредактирую это в ответMATL , 6 байтов
Попробуйте онлайн!
источник
зш, 13 байт
Принимает ввод в качестве аргумента командной строки, выводит в STDOUT.
Это работает только в Zsh, но вот 15 байт в Bash , используя
echo
вместо того , чтобы<<<
:источник
Perl, 11 байт
+
p
иl
флаги.(беги с
perl -ple '$_*=$_ x2'
)-2 байта благодаря трубе.
источник
$_*=$_ x2
-l
$_ x2
будет производить,...\n...\n
который при преобразовании в число с помощью perl заканчивается первым\n
6
.Excel VBA, 35 байт
Sub вызывается с номером, msgbox возвращает ответ
Альтернативный Excel VBA, 42 байта
Число, указанное в формуле, возвращает ответ.
источник
Луа, 20 байт
Принимает аргумент командной строки и выводит через STDOUT
И размазанный, как @LeakyNun спросил в комментарии :)
источник
Пайк,
54 байтаПопробуй это здесь!
Также 5 байтов со строковыми входами
источник
PHP,
2524 байтаКороткие открывающие бирки полезны для удивительно немногих испытаний в гольф, к счастью, это одна из них. К сожалению, приоритет оператора является противоположностью порядка, в котором вы должны их выполнять, поэтому необходимо много скобок.
изменить: я понял, что, видя, как я использую скобки в любом случае, я могу эффективно пропустить оператор конкатенации, изменив письменный порядок операций вокруг.
источник
постоянный ток,
1110 байтЯ знал, что в конце концов я найду применение для
Z
команды!Операция довольно проста - посчитайте цифры, возьмите 10, возведенных в эту степень, и добавьте одну. Это дает множитель, который объединяет число с самим собой. Тогда просто умножьте.
Ввод / вывод использует стек, как обычно для DC.
Полная программа
Вот что я использовал для тестов:
Две дополнительные команды дают нам конвейерный ввод-вывод.
тесты
Спасибо сэру Байдену XVII (1 байт).
источник
A
на ,10
чтобы сохранить байт. Отлично сработано!Свинка, 11 байт
Это одна из тех редких проблем, связанных с гольфом, где особенности эпидемического паротита могут оказаться очень полезными. Во-первых, все переменные являются строками, и все математические уравнения строго оцениваются слева направо (как в: не PEMDAS), поэтому 1 + 2 * 4 = 12 в Mumps вместо = 9, как PEMDAS. Итак, (едва) не одураченный
Слово предостережения - поскольку используемая мной разновидность Mumps (InterSystems Ensemble) не повторяет возврат каретки для stdin, входной и выходной номер будут объединены. Чтобы исправить это / повысить читаемость, вам нужно добавить два байта и добавить CR / LF вручную, таким образом:
Однако, поскольку я не видел этого требования в правилах испытания, я почти уверен, что у меня все хорошо с более коротким кодом. Если я ошибаюсь, пожалуйста, не стесняйтесь LART меня, и я изменю свой ответ. :-)
источник
PowerShell,
25, 18 байтСпасибо TessellatingHeckler за напоминание, как сильно PS любит конвейер.
Новые 18 байтов:
Старые 25 байтов:
Объяснение:
Тестирование (сохранить как boring.ps1):
Определенно не победный ответ, но веселье независимо!
источник
process{$_*"$_$_"}
18 байтов, и принимает входные данные от "stdin" (т.е. конвейер), например174|script.ps1
param($a);$a*"$a$a"
param($n)$n*"$n$n"
(то, что было у Дарта, без;
) такой же длины и не является REPL.test.ps1
файл, который читает из конвейера? Чтение сценария bash shell из stdin тоже не считается?Пакетный,
272018 байтРедактировать: 7 байтов сохранено благодаря @TessellatingHeckler. Сохранено еще 2 байта благодаря @ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ.
источник
set /a
в командной строке выводит результат присваивания. ->@cmd/c set/a n=%1%1*%1
для 22 байтов.@cmd/cset/a%1%1*%1
для 18.cmd/c
часть необходима, потому что инструмент для выполнения командного файла не являетсяcmd
сам по себе.