Um número desinteressante (que eu totalmente não compensava apenas para esse desafio) é criado assim:
- Tome um número inteiro positivo N
- Crie um novo número O adicionando os dígitos de N no final de N
- O número final desinteressante é O * N
Por exemplo, para N = 12:
- O = 1212
- O * N = 1212 * 12
- O número final é 14544
Entrada
Um número inteiro positivo N (N> 0) ou o equivalente do seu idioma. Você não precisa capturar informações incorretas.
Saída
O número desinteressante correspondente.
Casos de teste
1 -> 11
2 -> 44
3 -> 99
10 -> 10100
174 -> 30306276
Pontuação
O menor código em bytes vence.
Respostas:
05AB1E , 3 bytes
Explicado
Experimente online
fonte
str
e*
interpreta a sequência como um número. Muito útil :)JavaScript (ES6), 10 bytes
Precisa ser chamado com o argumento como a
String
, não aNumber
.Uso:
-3 bytes graças à sugestão de @Quill .
fonte
_=>(_+_)*+_
_
como caractere arbitrário para uma variável? (PS -(_+_)
totalmente parece uma bunda)$
também funcionarian=>(1+10**-~Math.log10(n))*n*n
(infelizmente,-~
têm precedência maior que**
) ou 31 no ES6n=>-~`1e${-~Math.log10(n)}`*n*n
. Até a recursão levou 32 bytes:f=(n,m=1)=>n<m?-~m*n*n:f(n,m*10)
Java 8,
29 26 2521 bytesDeus abençoe lambda
c-> Código longo (c + "" + c) * c;fonte
vim, 11
crcrcrcrcr ...
fonte
<C-r>
é imprimível.<C-r>
um retorno de carro?<C-r>
é controle mais r. O retorno de carro é<cr>
.Pitão,
54 bytesExplicação:
Teste aqui .
fonte
Emacs, 17 bytes
(*SPACEC-SPACEC-EM-YSPACEC-YC-Y)C-J
Explicação
(*
no ponto (antes do número);)
no final;Exemplo
Cursor representado por um pipe (
|
)|174
(* |174
(* 174|
(* 174 |
(* 174 174174|
(* 174 174174)|
Resultado
fonte
C #,
1923 bytesSem strings, 47 bytes
fonte
(n)=>{int.Parse(""+n+n)*n}
2;
?Python 2.7, 21 bytes:
Bem, essa deve ser a resposta mais curta em Python que eu já escrevi no menor tempo possível. É uma função lambda anônima que pode ser executada nomeando-a como quiser e, em seguida, chamando-a como uma função normal envolvida
print()
. Por exemplo, se sua entrada é12
e a função foi nomeadaH
, isso seria chamado comoprint(H(12))
.Experimente Online! (Ideona)
Observe que isso só funciona para valores acima e iguais a
9223372036854775807
qualquer valor mais alto erepr()
coloca aL
no final do número inteiro. Portanto, para valores maiores que9223372036854775807
, essa versão de 24 bytes seria a que funciona:Experimente isto online! (Ideona)
fonte
Geléia, 4 bytes
Experimente online
Explicação
fonte
;DDx
Ḍ
leva apenas 1 byte? Geralmente usamos UTF-8, no qual são necessários 3 (e o × leva 2, mas são 1 byte, por exemplo, ISO8859-1).C,
706854535244Versão anterior (48 bytes, sem funções matemáticas), salva 16 bytes graças a @LeakyNun, 1 byte graças a @FryAmTheEggman, 4 bytes graças a @TobySpeight:
Ligue
f()
com um argumento, o número, e ele retornará o número desinteressante correspondente.Programa de teste
Resultado dos testes:
Experimente online!
fonte
f(n){int b=1;while(a)b*=10,a/=10;return(n+n*b)*n;}
math.h
, mas você se sai bem no GCC, ondelog10()
epow()
está embutido, e o compilador simplesmente alerta sobre "declaração implícita incompatível da função incorporada" em vez de assumir (como deveria) que ambos retornamint
.a
...Dyalog APL , 7 bytes
⍕
representação de string⍕,
preceder representação de cadeia#⍎
transformar em número (no espaço para nome raiz)⊢×
multiplicar pelo número originalfonte
J, 7 bytes
Explicação
fonte
Under
está funcionando corretamente com concatenação de strings. Que grande descoberta para mim! Obrigado.* ,~ &.": n
e também não pode ser usado na formação de outros verbos.Retina ,
2720 bytesFica um pouco lento para entradas grandes, porque antes da última etapa o resultado é representado em unário.
Experimente online! (A primeira linha ativa um conjunto de testes separado por avanço de linha.)
Explicação
Usarei
2
como exemplo de entrada (porque as representações unárias ficam um pouco difíceis para entradas maiores).Etapa 1: Substituição
Combinando o início da string com
^
, simplesmente acrescentamos algumas coisas.$_
refere-se à própria string de entrada e$*:
significa que inserimos muitos dois pontos. Então temos:Etapa 2: Substituição
Agora, combinamos todas as
:
vezes substituí-lo por$_$*:
. Obviamente, desta vez$_
não é avaliado para um número inteiro (mas para o:: 22
nosso exemplo), mas$*
apenas procura o primeiro decimal na string, portanto isso avalia a entrada concatenada para si mesma (O
na especificação de desafio). Terminaremos comN*O
dois pontos, seguidos porO
:Etapa 3: partida
Tudo o que resta é contar os
:
s para converter de unário de volta para decimal, que é exatamente o que esse estágio faz.fonte
CJam , 8 bytes
Experimente online!
fonte
r__+i\i*
é o mesmo comprimento.r__+si*
, ondes
é "aplicar esta operação sobre a pilha"), mas não vejo nada assimGeléia,
86 bytesExperimente online!
Explicação
fonte
³
.Awk, 13 bytes
Defina a linha como 2 de si multiplicada por ela mesma
fonte
Braquilog , 7 bytes
Explicação
fonte
Python, 42 bytes
Abordagem aritmética pura, sem cordas!
Ideone it!
fonte
Matlab / Octave, 20 bytes
Esta é uma função anônima que recebe a entrada como uma string.
Exemplo de uso:
Ou experimente online com ideone .
Explicação
O código cria uma sequência concatenando a sequência de entrada duas vezes, depois o caractere
*
(que possui o código ASCII 42) e a sequência novamente. A sequência concatenada é então avaliada.fonte
42
significa isso ?*
*
, a string novamente. A sequência concatenada é então avaliada. Vou editar isso para a respostaMATL , 6 bytes
Experimente online!
fonte
zsh, 13 bytes
Recebe a entrada como argumento da linha de comando e gera para STDOUT.
Isso funciona apenas no zsh, mas aqui estão 15 bytes no Bash usando em
echo
vez de<<<
:fonte
Perl, 11 bytes
+ as sinalizadores
p
el
.(corra com
perl -ple '$_*=$_ x2'
)-2 bytes graças ao pipe.
fonte
$_*=$_ x2
-l
$_ x2
produzirá...\n...\n
que quando convertido como um número de extremidades perl no primeiro\n
6
.Excel VBA, 35 bytes
Sub chamado com número, msgbox retorna resposta
Excel VBA alternativo, 42 bytes
Número indicado na fórmula, retorna resposta.
fonte
Lua, 20 bytes
Recebe um argumento da linha de comando e sai via STDOUT
E ungolfed como @LeakyNun perguntou no comentário :)
fonte
Pyke,
54 bytesExperimente aqui!
Também 5 bytes com entradas de string
fonte
PHP,
2524 bytesTags de abertura curta são úteis para surpreendentemente poucos desafios no golfe; felizmente, esse é um deles. Infelizmente, a precedência do operador é o oposto da ordem em que você precisa executá-las, de modo que muitos colchetes são necessários.
edit: percebi que, como estou usando colchetes de qualquer maneira, posso efetivamente pular o operador de concatenação alterando a ordem por escrito das operações.
fonte
dc,
1110 bytesEu sabia que, eventualmente, encontraria um uso para o
Z
comando!A operação é bastante simples - conte os dígitos, pegue 10 aumentados para esse poder e adicione um. Isso fornece um multiplicador que concatena o número consigo mesmo. Então apenas multiplique.
AE / S usa a pilha, como de costume para dc.
Programa completo
Isto é o que eu usei para os testes:
Os dois comandos extras nos fornecem E / S de pipeline.
Testes
Agradecemos a Sir Biden XVII (1 byte).
fonte
A
por10
salvar um byte. Bem feito!Caxumba, 11 bytes
Este é um daqueles raros desafios de golfe, onde as idiossincrasias de Mumps podem ser muito úteis. Primeiro, todas as variáveis são cadeias de caracteres e todas as equações matemáticas são estritamente avaliadas da esquerda para a direita (como em: não no PEMDAS), então 1 + 2 * 4 = 12 no Mumps em vez de = 9 da maneira que o PEMDAS faria. Então, (mal) não destruído:
Atenção: como o sabor do Mumps que estou usando (InterSystems Ensemble) não reflete o retorno de carro para stdin, o número de entrada e saída aparecerá concatenado. Para corrigir isso / aumentar a legibilidade, você precisará adicionar dois bytes e adicionar um CR / LF manual, assim:
No entanto, como não vi esse requisito nas regras do desafio, tenho certeza de que sou bom com o código mais curto. Se estiver enganado, sinta-se à vontade para me LART e modificarei minha resposta. :-)
fonte
PowerShell,
25, 18 bytesObrigado TessellatingHeckler por me lembrar o quanto o PS adora o pipeline.
Novos 18 bytes:
25 bytes antigos:
Explicação:
Teste (salve como boring.ps1):
Definitivamente não é a resposta vencedora, mas divertida independentemente!
fonte
process{$_*"$_$_"}
é de 18 bytes, e recebe a entrada a partir de "entrada padrão" (ou seja, o oleoduto), por exemplo,174|script.ps1
param($a);$a*"$a$a"
param($n)$n*"$n$n"
(o que Darth tinha, sem o;
) é do mesmo tamanho e não é um REPL.test.ps1
arquivo que lê do pipeline não conta? Um script do shell bash lendo stdin também não conta?Lote,
272018 bytesEditar: salvou 7 bytes graças a @TessellatingHeckler. Economizou mais 2 bytes graças a @ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ.
fonte
set /a
no prompt gera o resultado da atribuição. ->@cmd/c set/a n=%1%1*%1
para 22 bytes.@cmd/cset/a%1%1*%1
para 18.cmd/c
peça é necessária porque a ferramenta de execução de arquivos em lote não écmd
ela mesma.