Dado un número> 0, genera la suma con todos los dígitos (1 .. n) concatenados e invertidos y súmalos. Por ejemplo, con n = 6:
Los números del 1 al 6 concatenados:
123456
Invertido:
654321
Sumarlos juntos dará como resultado: 777777. Otro ejemplo es n = 11:
1 2 3 4 5 6 7 8 9 10 11 > 1234567891011
y
11 10 9 8 7 6 5 4 3 2 1 > 1110987654321
Sumarlos juntos dará como resultado 2345555545332
. Esto también se conoce como A078262 .
¡El código más corto gana!
n
o tenemos que admitir enteros arbitrariamente grandes?max(256,yourlanguagesdefaultintegertypelimit)
". Pero debe especificarse.10
que debería dar23333333231
.Respuestas:
05AB1E, 7 bytes
Pruébalo en línea.
Explicación
fuente
+
listas que hacen una adición anidada, mientras que para las cadenas se convierte en ints y luego agrega. ¡Pero supongo que funcionó aquí! : PJalea, 9 bytes
fuente
CJam,
1514 bytes¡Gracias a Martin por afeitarse un byte!
Pruébalo en línea!
fuente
ri,:)s_W%i\i+
10
:)
Pyth,
1210 bytes¡Gracias a @FryAmTheEggman por 2 bytes!
Q
es la entrada,S
lo convierte en[1, 2, ..., input()]
,_B
se bifurca de TI más de_
(inverso) para crear[rng, rev(rng)]
,jLk
mapas por encimajoin
pork
(que es la variable "cadena vacía"),sM
mapasint
sobre esta matriz resultante, ys
finalmente se calcula la suma.fuente
JavaScript (ES6),
706764 bytesSe corrigió para cumplir con el requisito, ya que el código antiguo se realizó bajo una mala comprensión de la entrada.
fuente
Pitón 3, 74
Guardado 6 bytes gracias a DSM.
Nada demasiado emocionante, únase a los rangos y luego conviértalos en ints y agréguelos.
fuente
Retina , 71
Porque es descaradamente la herramienta incorrecta para el trabajo.
Pruébalo en línea.
Funciona para entradas de hasta 6, pero el intérprete en línea agota el tiempo de espera después de eso.
fuente
(c)+
ac
.$&$*c
->$*c
y\d+:?
->\d+
y es 70. Y por alguna razón sigue funcionando ...Jolf, 9 bytes
Pruébalo aquí! Reemplazar
►
con\x10
.Es posible que pueda jugar golf moviéndome alrededor del tipo de fundición.
fuente
JavaScript (ES6),
6766 bytesSí, eso es un espacio. Ugh Al menos @Downgoat me ayudó a guardar un byte.
fuente
+
y hacer el+ +
->- -
para guardar un byte- -a.reverse().join
En serio, 12 bytes
Pruébalo en línea!
Explicación:
fuente
PowerShell, 35 bytes
Convierte la entrada en rangos con
..
, luego-join
los junta y los suma.Funcionará para los números de entrada hasta
138
, mientras139
que daráInfinity
,140
y por encima de eso, dará un error de lanzamiento asombrosamente detallado:fuente
Pyth - 8 bytes
Pruébelo en línea aquí .
fuente
10
o11
JavaScript (ES6), 99
Esto agrega dígito por dígito, por lo que puede manejar números muy por encima de los 53 bits de precisión de JavaScript
Prueba
fuente
c
con las otras variables?Brachylog , 24 bytes
fuente
MATL , 13 bytes
EDITAR (20 de mayo de 2016) El código en el enlace se usa en
Xz
lugar deXv
, debido a cambios recientes en el idioma.Pruébalo en línea!
fuente
05AB1E , 5 bytes
Explicación:
Pruébalo en línea!
fuente
Bash + coreutils, 39
O:
Ideona
fuente
Perl 6 , 25 bytes
Uso:
fuente
$n
lugar de$^n
-> $n {
es diferente$^n
.R,
346064 bytesAsume que el
pryr
paquete está instalado. esto daf
una abreviatura para crear funciones.Editar agregó 26 bytes pero devuelve una función que funciona, no algo completamente incorrecto.
Editar agregó otros 4 bytes para manejar casos por encima de n = 10 donde estaba regresando strtoi (usado anteriormente)
NA
fuente
Lua, 57
fuente
Lua, 53 bytes
Este programa toma
n
como argumento de línea de comandos.Supuse que generar un número con una parte decimal de 0 estaba bien (en el formulario
777777.0
porque esta es la forma predeterminada de generar un número en lua (no hay distinción entre entero y flotante)fuente
...
así! Lo mantendré así por el momento, porque no puedo usar nada más que el compilador en línea y no puede manejar eso (me gustaría probarlo y jugar un poco antes de ponerlo en un respuesta :))Perl 5, 37 bytes
25 bytes, más 1 para
-p
y 11 para-MList::Gen
Solución anterior, 40 bytes: 39, más uno para
-p
fuente
Perl, 36 bytes
Incluye +1 para
-p
Ejecutar con STDIN
reverse.pl
fuente
Dyalog APL , 17 bytes
⎕
solicitar entrada⍳
'enumerar hasta que la entradax←
almacene la lista en x⌽
inversa xx(
...)
anteponer la lista inversa con la lista original⍕¨¨
convertir cada número de cada lista en una cadena de caracteres∊¨
hacer que cada lista de cadenas de caracteres en cadenas de caracteres individuales⍎¨
convierta cada cadena de caracteres en una+/
suma de los dos números .fuente
Mathematica, 64 bytes
fuente
Retina, 80 bytes (codificación ISO 8859-1)
IO está en unario con
'
el personaje contable. En teoría admite cualquier número entero que le arrojes, en la práctica ... el intérprete en línea se niega a procesar cualquier cosa mayor que 6 (unario''''''
).Pruébalo en línea!
Pruébalo en línea! (IO decimal - 91 bytes)
fuente
𝔼𝕊𝕄𝕚𝕟, 12 caracteres / 15 bytes
Try it here (Firefox only).
Meh
Explicación
Toma un rango
[1,input]
, se une a él; toma ese mismo rango, lo invierte, luego se une a él; La suma de ambos rangos es el resultado.fuente
Ruby, 40 caracteres.
Ejecución de muestra:
fuente
C #, 126 bytes
Posiblemente podría jugar más golf. No muy seguro.
fuente
Groovy,
4239 caracteresEjecución de muestra:
fuente