Dado um número> 0, imprima a soma com todos os dígitos (1 .. n) concatenados e revertidos e adicione-os. Por exemplo, com n = 6:
Os números 1 a 6 concatenaram:
123456
Invertida:
654321
Somando-os juntos, resultará em: 777777. Outro exemplo é n = 11:
1 2 3 4 5 6 7 8 9 10 11 > 1234567891011
e
11 10 9 8 7 6 5 4 3 2 1 > 1110987654321
Adicioná-los juntos resultará em 2345555545332
. Isso também é conhecido como A078262 .
O menor código vence!
n
, ou temos que suportar números inteiros arbitrariamente grandes?max(256,yourlanguagesdefaultintegertypelimit)
". Mas isso deve ser especificado.10
que deve dar23333333231
.Respostas:
05AB1E, 7 bytes
Experimente online.
Explicação
fonte
+
listas a fazer uma adição aninhada, enquanto que para seqüências de caracteres converte em ints e depois adiciona. Mas acho que deu certo aqui! : PGeléia, 9 bytes
fonte
CJam,
1514 bytesAgradecimentos a Martin por barbear um byte!
Experimente online!
fonte
ri,:)s_W%i\i+
10
:)
Pitão,
1210 bytesObrigado a @FryAmTheEggman por 2 bytes!
Q
é a entrada,S
transforma-o em[1, 2, ..., input()]
,_B
bifurca-a sobre_
(reverso) para criar[rng, rev(rng)]
,jLk
mapeia-lo ao longojoin
dek
(que é a variável "vazio string"),sM
mapeiaint
sobre esta matriz resultante, es
, finalmente, calcula a soma.fonte
JavaScript (ES6),
706764 bytesCorrigido para atender aos requisitos, pois o código antigo foi criado com o entendimento incorreto da entrada.
fonte
Python 3, 74
Economizou 6 bytes graças ao DSM.
Nada muito emocionante, junte-se aos intervalos e depois converta para ints e adicione-os.
fonte
Retina , 71
Porque é descaradamente a ferramenta errada para o trabalho.
Experimente online.
Funciona para entradas de até 6, mas o intérprete on-line atinge o tempo limite depois disso.
fonte
(c)+
parac
.$&$*c
->$*c
e\d+:?
->\d+
e é 70. E por alguma razão ele continua trabalhando ...Jolf, 9 bytes
Experimente aqui! Substitua
►
por\x10
.Eu posso jogar golfe movendo-se ao redor do tipo de elenco.
fonte
JavaScript (ES6),
6766 bytesSim, isso é um espaço. Ugh. Pelo menos, o @Downgoat me ajudou a salvar um byte.
fonte
+
e criar o+ +
->- -
para salvar um byte- -a.reverse().join
Sério, 12 bytes
Experimente online!
Explicação:
fonte
PowerShell, 35 bytes
Converte a entrada em faixas com
..
, então-join
as junta e as adiciona.Trabalhará para números de entrada de até
138
, while139
daráInfinity
e140
e acima exibirá um erro de conversão incrivelmente detalhado:fonte
Pitão - 8 bytes
Experimente online aqui .
fonte
10
ou11
JavaScript (ES6), 99
Isso adiciona dígito por dígito, para que ele possa manipular números bem acima dos 53 bits de precisão do javascript
Teste
fonte
c
com as outras variáveis?Braquilog , 24 bytes
fonte
MATL , 13 bytes
EDIT (20 de maio de 2016) O código no link usa, em
Xz
vez deXv
, devido a alterações recentes no idioma.Experimente online!
fonte
05AB1E , 5 bytes
Explicação:
Experimente online!
fonte
Bash + coreutils, 39
Ou:
Ideone.
fonte
Perl 6 , 25 bytes
Uso:
fonte
$n
vez de$^n
-> $n {
é diferente$^n
.R,
346064 bytesAssume que o
pryr
pacote está instalado. isso fornecef
uma abreviação para criar funções.Editar adicionou 26 bytes, mas retorna uma função que funciona, não algo totalmente errado.
O Edit adicionou outros 4 bytes para lidar com casos acima de n = 10 em que strtoi (usado anteriormente) estava retornando
NA
fonte
Lua, 57
fonte
Lua, 53 bytes
Este programa usa
n
como argumento da linha de comando.Eu assumi que a saída de um número com uma parte decimal de 0 era boa (no formulário,
777777.0
porque esta é a maneira padrão de gerar um número em lua (não há distinção entre número inteiro e número flutuante)fonte
...
assim! Vou mantê-lo assim por enquanto, porque não posso usar nada além do compilador on-line e ele não pode lidar com isso (eu gostaria de testá-lo e brincar com ele um pouco antes de colocá-lo em um resposta :))Perl 5, 37 bytes
25 bytes, mais 1 para
-p
e 11 para-MList::Gen
Solução anterior, 40 bytes: 39, mais um para
-p
fonte
Perl, 36 bytes
Inclui +1 para
-p
Executar com STDIN
reverse.pl
fonte
Dyalog APL , 17 bytes
⎕
prompt para entrada⍳
'enumerar até que a entradax←
lista loja em x⌽
x reverterx(
...)
preceder lista revertida com lista original⍕¨¨
converter cada número de cada lista em cadeia de caracteres∊¨
fazer com que cada lista de cadeias de caracteres em cadeias de caracteres individuais⍎¨
converter cada cadeia de caracteres em um número+/
soma dos dois números .fonte
Mathematica, 64 bytes
fonte
Retina, 80 bytes (codificação ISO 8859-1)
IO é unário com
'
o caractere de contagem. Em teoria, suporta qualquer número inteiro que você lançar, na prática ... o intérprete on-line se recusa a processar qualquer coisa maior que 6 (unário''''''
).Experimente online!
Experimente online! (IO decimal - 91 bytes)
fonte
, 12 caracteres / 15 bytes
Try it here (Firefox only).
Meh.
Explicação
Toma um intervalo
[1,input]
, junta-se a ele; pega o mesmo intervalo, inverte-o e depois junta-se a ele; a soma de ambos os intervalos é o resultado.fonte
Ruby, 40 caracteres
Exemplo de execução:
fonte
C #, 126 bytes
Possivelmente poderia ser jogado ainda mais. Não tenho certeza.
fonte
Groovy,
4239 caracteresExemplo de execução:
fonte