Relacionado: Diseñemos un mosaico de dígitos , Imprima / Imprima el L-phabet . Sandbox publica aquí
Dadas 2 entradas C = columns and rows, S = starting pointsalen una matriz de la siguiente manera:
Input 4, 3
1 2 3 0
2 2 3 0
3 3 3 0
0 0 0 0
Explicación
Dado C = 4, S = 3
1) Crear una C x Cmatriz llena de0
4 columns
4 _____|____
| |
r --0 0 0 0
o | 0 0 0 0
w | 0 0 0 0
s --0 0 0 0
2) Rellene con Svalores dentro de la fila y columna S, luego reste 1 Sy repita hasta S = 0. Este casoS = 3
Column 3
S = 3 |
v
0 0 3 0
0 0 3 0
Row 3-->3 3 3 0
0 0 0 0
Column 2
S = 2 |
v
0 2 3 0
Row 2-->2 2 3 0
3 3 3 0
0 0 0 0
Column 1
S=1 |
v
Row 1-->1 2 3 0
2 2 3 0
3 3 3 0
0 0 0 0
Final Result
1 2 3 0
2 2 3 0
3 3 3 0
0 0 0 0
Reglas
- Asumir
C >= S >= 0 - La salida puede ser una matriz, una lista de listas, una matriz (unidimensional o bidimensional), etc.
- Puede tomar entradas a través de cualquier formato de E / S predeterminado
- Su programa, función, etc ... puede ser indexación 1 o indexación 0. Por favor especifique cuál es.
Nota La explicación es indexación 1
Criterio ganador código-golf

Octava , 31 bytes
Función anónima que devuelve una matriz. Utiliza indexación basada en 1.
Pruébalo en línea!
fuente
Haskell ,
4745 bytes-2 bytes cambiando el formato de salida a una lista unidimensional.
Pruébalo en línea!
Explicación
El término
x >>= (<$> x) . maxes una versión de golf deque será evaluado
[1,2,3,4..c, 2,2,3,4..c, 3,3,3,4..c, ..., c,c,c,c..c]. Ahora solo necesitamos forzar los valores0una vez que exceden los valoressque alcanzamossum [ j | j <= s].fuente
APL (Dyalog Classic), 12 bytes
Pruébalo en línea!
Cualquier consejo para convertir esto en un tren es bienvenido.
fuente
APL (Dyalog) , 12 bytes
Pruébalo en línea!
fuente
o×⎕≥o←∘.⌈⍨⍳Se permitiría algo , o tendría que asignarlo a una función para que eso cuente?JavaScript (ES6), 61 bytes
Toma entrada en la sintaxis de curry
(c)(s), donde s está indexado en 1. Devuelve una matriz unidimensional.Pruébalo en línea!
fuente
Jalea , 6 bytes
Un programa completo * que toma enteros
CySque imprime la representación Jelly de una lista de listas de enteros como se define (1 indexado).Pruébalo en línea! (Formatea el resultado de la díada como una cuadrícula de números para facilitar la lectura)
¿Cómo?
* La razón de que esto es un programa completo se debe al uso de la conexión argumento programa,
⁴. Como enlace diádico, este código dependería de cómo se llame al programa que lo está utilizando.Enlace diádico reutilizable en 8 bytes (tomando S a la izquierda y C a la derecha): Enlace diádico reutilizable en 8 bytes (tomando C a la izquierda y S a la derecha):
RiⱮⱮ»þ`}RiⱮⱮ⁹»þ¤fuente
Java 10, 88 bytes
Pruébalo en línea.
Explicación:
fuente
PHP , 92 bytes
Esto es "1 indexación".
Para ejecutarlo:
Ejemplo:
O Pruébelo en línea!
fuente
Stax , 10 bytes
Ejecutar y depurarlo
Cómo funciona:
fuente
Excel VBA, 65 bytes
Una función de ventana inmediata que toma entradas
[A1:B1]y salidas al rango[C1].Resize([A1],[A1]).De entrada y salida
La entrada está en el rango
[A1:B1]fuente
J , 18 bytes
Mucho más que ambas soluciones APL.
Pruébalo en línea!
fuente
MATLAB, 58 bytes (Gracias al usuario anónimo)
Simplemente llenando los elementos de la matriz con el número apropiado, ejecutando un bucle. Tal vez sea posible ser más inteligente con
arrayfunfuente
zeros(c)que guarda algunos bytes. ¿También viste esta respuesta de Octave, supongo que también funcionaría en Matlab?max()tengo que tomar argumentos de la misma formafunction o=f(c,s);o=zeros(c);for j=s:-1:1;o(1:s,1:s)=j;end.o(1:j,1:j)=jC # (.NET Core) , 85 bytes
Pruébalo en línea!
Un puerto de la respuesta de Kevin Cruijssen , que era mucho mejor que la mía.
fuente
Python 2 , 58 bytes
Pruébalo en línea!
Emite una lista 1D de longitud
C*C.fuente
Carbón de leña , 19 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. 3 bytes utilizados para convertir la salida a decimal y formatearla bien. Explicación:
fuente
Limpio , 67 bytes
Pruébalo en línea!
Define
$ :: Int Int -> [[Int]]dar una respuesta usando indexación basada en 1.fuente
Perl 6 , 37 bytes
Pruébalo en línea!
Devuelve la matriz como una matriz unidimensional.
fuente
Mathematica 44 bytes
fuente