Una simple:
Tome un entero positivo n menor que 1000, y genere los enteros de 1 a n entrelazados con los enteros de n a 1 . Debe concatenar los números para que aparezcan sin delimitadores entre ellos.
Casos de prueba:
n = 1
11
n = 4
14233241
n = 26
12622532442352262172081991810171116121513141413151216111710189198207216225234243252261
n = 100
110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001
Este es el código de golf, por lo que gana el envío más corto en bytes en cada idioma. Se alientan las explicaciones.
f'{x}{n-~-x}'
lambda n:''.join('x+1'+'n-x'for x in range(n))
para 46 bytes. (reemplace el'
en la lista de comprensión con backticks)`\`x+1\``
renders a`x+1`
-5 gracias a Ørjan Johansen
Haskell , 33 bytes
Pruébalo en línea!
fuente
do
expresión es más corta que>>=
más una lambda. (2) Sin embargo, elshow
s se puede combinar mediante el uso>>=show
.Bash , 25 bytes
Pruébalo en línea!
Imprime la secuencia decreciente, las líneas numéricas aumentan y printf une las líneas
Delimitado por espacios, 20 bytes: seq $ 1 -1 1 | nl | xargsfuente
seq $1 -1 1|nl|tr -d ' \n\t'
8 bytes mástime printf %s'seq 1000000 -1 1|nl'; grep name /proc/cpuinfo
real 0m7.985s user 0m6.092s sys 0m0.392s model name : Intel(R) Pentium(R) D CPU 3.00GHz model name : Intel(R) Pentium(R) D CPU 3.00GHz
R, 35 bytes
Pruébalo en línea
rbind(1:n,n:1)
crea una matriz de 2 filas con 1 a n en la primera fila yn a 1 en la segunda. Lacat
función colapsa esta matriz, leyendo cada columna.fuente
n
en la línea de comando (en lugar de pasar por stdin).05AB1E ,
65 bytesSe guardó un byte usando el nuevo intercalado incorporado como lo sugiere rev
Pruébalo en línea!
Explicación
fuente
LÂ.ιJ
.CJam , 10 bytes
Pruébalo en línea!
Explicación
fuente
Ruby , 29 bytes
Explicación:
Pruébalo en línea!
fuente
Espacio en blanco , 71 bytes
Pruébalo en línea!
Explicación
Las primeras instrucciones son necesarias para configurar la pila correctamente, los comandos de entrada de Whitespace escriben en el montón, por lo que debemos copiar b (el valor de entrada) nuevamente en la pila. Comenzamos con a = 0 ya que es más corto declarar 0 en lugar de 1 (guarda un byte) y solo necesitamos reordenar la instrucción de incremento para hacer frente. Después de eso, simplemente repetimos e incrementamos a, salida a, salida b, decremento b, hasta que b llega a 0 (verificado después del decremento).
fuente
Haskell,
654847 bytes1 byte guardado gracias a Laikoni:
6 bytes guardados gracias a nimi:
Respuesta previa y explicación:
Ya hay una mejor respuesta de Haskell aquí, pero soy nuevo tanto en Haskell como en el golf de código, así que también puedo publicarlo :)
Esta función comprime la lista [1..n] con su reverso, lo que resulta en una lista de tuplas.
Luego se usa
concatMap
para asignar una lambda a esta lista de tuplas que da como resultado una lista de listas ...... y lo concatena.
Luego, un
concatMap
mapa final se asignashow
a la lista y se concatena en una sola cadena.f 26 "12622532442352262172081991810171116121513141413151216111710189198207216225234243252261"
fuente
=<<
es la misma (dentro de la lista mónada) comoconcatMap
:f n=show=<<(\(l,r)->[l,r])=<<zip[1..n][n,n-1..1]
.n
en[1..n]
: Pruébelo en línea!Pyth, 7 bytes
Pruébelo en línea: demostración
Explicación:
fuente
Octava, 29 bytes
Pruébalo en línea!
fuente
Perl 6 , 20 bytes
Pruébalo
Con una entrada de 100000, esto lleva aproximadamente 10 segundos, incluida la compilación y la impresión de la salida.
Expandido:
El
Z~
necesita el~
porque de lo contrario genera una lista de listas que se encadenarán con espacios.No hay necesidad de limitar el Rango a partir de 1, porque se
Z
detiene cuando se acaba cualquiera de las listas de entrada.Esto ahorra dos bytes (se necesitaría un espacio después
$_
)fuente
Java 61 bytes
fuente
(int n)->{//for loop}
debería funcionar aquí.System.out.print()
en la última declaración del bucle for, pero se complica porque está usandoi
dos veces (y necesita incrementarlo en la expresión).Jalea , 5 bytes
Pruébalo en línea!
Cómo funciona
fuente
Röda ,
2119 bytesPruébalo en línea!
Esta es una función anónima que toma datos de la secuencia.
Explicación
fuente
Clojure, 61 bytes
Literalmente hace lo que se le pide. Creo que puede ser superado por una solución menos trivial.
Véalo en línea
fuente
Aceto ,
2522 bytesExplicación:
Leemos un número entero y lo ponemos en dos pilas.
En uno, llamamos a range_up (
Z
), en el otro a range_down (z
), luego establecemos una marca de captura para poder regresar a este lugar más tarde:Luego verificamos si la pila actual está vacía y salimos si es así:
De lo contrario, imprimimos desde ambas pilas y volvemos a la marca de captura:
fuente
R, 41 bytes
pryr::f()
crea una función que toma una entrada. Recorre1:x
e imprime cada elemento1:x
junto con cada elemento dex:1
. Imprime en STDOUT.fuente
pryr
function(x)
:)Brachylog ,
109 bytesPruébalo en línea!
Explicación
fuente
MATL,
13119 bytes2 bytes guardados gracias a @Luis
Pruébalo en MATL Online
Explicación
fuente
PHP,
363529 bytesSalvado un byte gracias a Jörg Hülsermann.
Guardado seis bytes gracias a Christoph.
fuente
for(;$argn;)echo++$i,$argn--;
?Scala, 43 bytes
No es el mejor, pero es mi primer código de golf.
fuente
V , 20 bytes
Pruébalo en línea!
Explique:
fuente
Cubix , 17 bytes
Pruébalo en línea!
Cubicado:
Empuja
1
, lee en la entrada (I
), luego ingresa al bucle que intercambia la parte superior de la pila, lo genera, incrementa, intercambia, genera la parte superior de la pila, disminuye y se detiene si la parte superior de la pila es 0.fuente
K (ngn / k) , 16 bytes
Pruébalo en línea!
fuente
r,'|r:
->+|:\
MathGolf , 5 bytes
Pruébalo en línea!
Explicación:
fuente
╒{ïí,
,╒{ïk,
,╒{íï-
,╒{kï-
,╒{┐í,
,╒{┐k,
,╒x{î\
,{îïí,
,{îïk,
,{îíï-
,{îkï-
,{î┐í,
,{î┐k,
. Sin embargo, no he podido encontrar ningún programa de longitud 4 o menos. No he hecho una búsqueda completa, pero es muy probable que 5 bytes sean óptimos para MathGolf.Lisp común,
6354 bytesPruébalo en línea!
fuente
Ratón-2002 ,
3230 bytes-2 se movió condicional al inicio del ciclo en
(z.^ ... )
lugar de(... z.0>^)
Pruébalo en línea!
Explicación:
fuente
Actualmente , 9 bytes
Pruébalo en línea! o ejecutar todos los casos de prueba
Explicación:
fuente