Su tarea es generar el enésimo término de la secuencia RATS, donde n es la entrada. La secuencia RATS también se conoce como la secuencia inversa Agregar luego ordenar. Esta secuencia también se puede encontrar aquí: http://oeis.org/A004000 .
Casos de prueba:
0 > 1
1 > 2
2 > 4
3 > 8
4 > 16
5 > 77
6 > 145
7 > 668
Por ejemplo, la salida para 5 es 77 porque 16 + 61 = 77. Después de esto, el 77 se ordena.
La presentación más corta gana. Este es mi primer desafío, así que espero que no sea un duplicado o algo así.
code-golf
sequence
arithmetic
justaprogrammer
fuente
fuente
Respuestas:
MATL , 11
12bytesLa entrada es una cadena (con comillas simples) que representa un número entero en unario . El desafío permite la entrada de cadenas y unary es un formato válido .
Pruébalo en línea!
Explicación
fuente
05AB1E , 6 bytes
Código:
Explicación:
Esto también funciona con un programa de 0 bytes .
fuente
05AB1E
eliminando primero el cero inicial y luego omitiendo el1
, como1E==E
. Entonces obtienes solo5ABE
-2 bytes.CJam, 15 bytes
Pruébalo aquí.
Explicación
fuente
Pyth,
171312 bytesPruébelo en el intérprete en línea .
fuente
Pitón 2, 72
Función recursiva, utiliza la abreviatura de Python 2 para
__repr__
, que se romperá una vez que la función alcance valores muy grandes (L
se agregará un a la cadena del número), no estoy seguro de la especificación si hay un lugar donde podamos detenernos , pero si no cambia astr()
solo agrega 6 bytes, pero luego se vuelve un poco más corto para generar como una cadena, a 75 bytes:1 byte guardado gracias a trichoplax en esta versión
fuente
or
del segundo bloque de código?JavaScript ES6, 70 bytes
Guardado 1 byte gracias a @ user81655
suspiro JavaScript es realmente detallado. Una gran parte (> 50%) del código es solo caso a cadena + función de matriz + unión + conversión a int. He intentado reducir, evaluar y todo tipo de cosas, pero esta parece ser la más corta.
Pruébelo en línea (todos los navegadores funcionan)
fuente
f=n=>n?[...+[...b=f(n-1)].reverse().join``+b+''].sort().join``:'1'
si se permite devolver la cadenaBrachylog , 19 bytes
Explicación
fuente
Haskell, 67 bytes
Ejemplo de uso:
(g"1"!!) 7
->"668"
.Es una implementación directa de la definición: comenzando con
"1"
, agregue repetidamente el resultado de la suma inversa del elemento actual. La función principal(g"1"!!)
selecciona eli
elemento th.fuente
Julia, 77 bytes
Esta es una función lambda que acepta un entero y devuelve un entero. Para llamarlo, asígnelo a una variable.
Sin golf:
fuente
Jalea,
1312 bytesEstoy seguro de que esto probablemente se pueda jugar al golf, ya que esta es mi primera respuesta en Jelly / en un idioma tácito.
EDITAR: guardado 1 byte, gracias a Dennis
fuente
Java 1.8, 251 bytes
Expandido
fuente
interface
R en lugar declass
R, que es 4 bytes más corto?En serio, 17 bytes
Pruébalo en línea!
Explicación:
fuente
Lua,
179156bytesNo puedo ver cómo podría jugar más al golf, pero estoy seguro de que hay una manera.Gracias a @LeakyNun, me tomé el tiempo para analizar esto y jugarlo de la manera correcta, tal vez aún podría ganar algunos bytes utilizando otro enfoque.Sin golfos y explicaciones
fuente
a=a<1 and 1or
por ejemplo).Brachylog 2, 11 bytes, desafío de fechas posteriores al idioma
Pruébalo en línea!
Explicación
No tengo muy claro qué hace esto con cero dígitos, pero la pregunta no indica ningún manejo en particular, y probablemente no aparecen en la secuencia de todos modos.
fuente
ES6, 79 bytes
82 bytes sin
eval
:Todas esas conversiones son dolorosas.
@ edc65 De hecho, ahorré 4 bytes al cambiar
map
areduce
esta vez ... sin embargo, sin duda me volverás a demostrar que estoy equivocado.fuente
for
es más corto:n=>eval("for(r=1;n--)r=+[...+[...r+''].reverse().join``+r+''].sort().join``")
n=0
, incluso después de haber corregido los errores de sintaxis.Python 2, 91 bytes
Ingrese como Entero, el resultado se imprime en la pantalla.
Esto podría ser mucho más corto con algo de magia de recursión, supongo, pero todavía no puedo entenderlo. Voy a tener una nueva mirada más tarde y espero mejorar esta.
fuente
Python 2, 83 bytes
fuente
Perl 6 , 40 bytes
(Si quieres que devuelva un Int pon un
+
derecho antes[~]
)Uso:
fuente
Mathematica 10.3,
6661 bytesBastante sencillo.
fuente
PHP, 102 bytes
Versión en línea
PHP, 95 bytes
n <= 39
fuente
Java ,
171167163160 bytesPruébalo en línea!
¡No es la entrada más larga! \ o /
fuente
Python 2 , 70 bytes
Pruébalo en línea!
fuente
Axioma, 146 bytes
prueba y resultados [secuencia RATS]
fuente
Tcl , 91 bytes
Pruébalo en línea!
fuente