Dado un número entero positivo n, haga lo siguiente (y envíe cada etapa):
- comience con una lista que contenga
ncopias den. - hacer los siguientes
nhorarios: - en el
ipaso th, disminuya gradualmente laientrada th de la lista hasta que lleguei
Así, por ejemplo, si lo dado nes 4, a continuación, se comienza con [4,4,4,4], y luego en el primer paso que tiene [3,4,4,4], [2,4,4,4], [1,4,4,4]. En el segundo paso, que tiene [1,3,4,4], [1,2,4,4]. En el tercer paso que tienes [1,2,3,4]. Nada se hace en el cuarto paso.
Entonces su salida es [[4,4,4,4],[3,4,4,4],[2,4,4,4],[1,4,4,4],[1,3,4,4],[1,2,4,4],[1,2,3,4]].
Se permite cualquier formato de entrada / salida razonable.
Se aplican lagunas estándar . Este es el código de golf : la respuesta con el menor recuento de bytes gana.
code-golf
array-manipulation
Monja permeable
fuente
fuente

ith siempre está indexado en 1.Respuestas:
Jalea , 9 bytes
Pruébalo en línea!
¿Cómo?
* Puede ser más fácil ver lo que está sucediendo con el producto cartesiano utilizado anteriormente con una entrada diferente:
fuente
R ,
838274 bytesPruébalo en línea!
En lugar de un doble bucle for, un
whilebucle es suficiente aquí: encontramos el primer índice donde la lista es mayor que el índice y decrementamos allí.KtieneTRUEdonde seaN[i]>i,which(K)devuelve los índices verdaderos, y tomamos el primero con[1].fuente
Jalea , 12 bytes
Pruébalo en línea!
fuente
JavaScript (ES6), 75 bytes
Pruébalo en línea!
fuente
APL + WIN, 54 bytes
Solicita la entrada de pantalla de entero
Emite una matriz con cada fila que representa el resultado de cada paso, por ejemplo, para 4:
fuente
Jalea , 11 bytes
Pruébalo en línea!
Cómo funciona
fuente
Python 3 , 91 bytes
Pruébalo en línea!
fuente
Java (OpenJDK 8) , 135 bytes
Pruébalo en línea!
Explicación:
Crédito:
-8 bytes gracias a Jonathan Frech !
-16 bytes gracias a Kevin Cruijssen !
-1 byte gracias a Okx !
fuente
import java.util.*;es parte del conteo de bytes, me temo. Y el código de @ JonathanFrech puede jugarse en 4 bytes más colocando el,i=0después der[], y cambiando<-~aa<=a. ( Pruébelo en línea. 144 bytes ) (y he cambiado~-iai-1para que sea más fácil de leer ..)import java.util.*;mediante el uso dejava.util.Arrays x=null;yx.fillyx.toString. (Tenga en cuenta que su solución actual es de 155 bytes con la requeridaimport java.util.*;.)for(;r[i-1]>i;lugar defor(;r[i-1]!=i;.++i<=aal golfi++<a.for(r[0]++;i<a;r[i++]++)for(;--r[i]>i;System.out.print(x.toString(r)));. :) Pruébelo en línea 135 bytesHaskell,
69 67 6563 bytesDefinición recursiva:
¡Gracias a Laikoni por 2 bytes!
fuente
mapes dos bytes más corto con una comprensión de la lista: ¡ Pruébelo en línea!PHP, 153 bytes
Pruébalo en línea!
Código
Voy a intentar bajar los bytes o terminar la función recursiva
Explicación
fuente
Python 2 ,
8076 bytesPruébalo en línea!
Es un desperdicio tener dos
printdeclaraciones, pero no puedo pensar en una mejor manera en este momento.fuente
Python 2 , 70 bytes
-2 bytes gracias a @LeakyNun
-2 bytes gracias a @JonathanFrech
Pruébalo en línea!
fuente
(I-1)->~-Ii=Iy decrementando.Java (JDK 10) , 112 bytes
Pruébalo en línea!
fuente
J ,
1715 bytesPruébalo en línea!
Explicación
fuente
Retina , 49 bytes
Pruébalo en línea! Explicación:
Convierta la entrada a unario.
Cree una lista de n copias de
i,ndóndeiestá el índice de la copia.No imprima nada (cuando finalice el bucle).
Haga un bucle hasta que el patrón no cambie.
Borre temporalmente el
isy convierta elns en decimal y en salida.Tome la primera entrada de la lista cuyo valor excede su índice y decremente.
fuente
Python 3 ,
706765 bytesPruébalo en línea!
Versión sin golf:
fuente
C (clang) ,
131141 bytesPruébalo en línea!
Esto funcionará para todos
nhasta 99. TIO trunca la salida. Puede admitir arbitrariamente más grandencambiando el tamaño de la matrizmsegún lo permita la memoria.El seguimiento está limitado a n = 1..9 pero es significativamente más corto
C (clang) ,
8992 bytesPruébalo en línea!
Actualizado: modificado para evitar la dependencia de la inicialización estática
fuente
static/global initialization because multiple test casesno está permitido, ya que las funciones tienen que ser invocables más de una vez.m[j]--,p()ap(m[j]--)y guardar un byte.Clojure, 132 bytes
Esperaba que esto fuera más corto ...
Menos con estado pero más largo en 141 bytes:
fuente
Python 3, 101 bytes
Probablemente podría jugar más golf con la impresión, pero estoy lejos de mi computadora y no estoy completamente seguro de las reglas de Python 2 para configurar una variable para imprimir. Actualizaré más tarde cuando llegue a una computadora o si alguien aclara en los comentarios.
fuente
K (ngn / k) ,
3432 bytesPruébalo en línea!
fuente