Related: design Let une mosaïque de chiffres , d' impression / sortie L- l alphabet . Post bac à sable ici
Étant donné 2 entrées, C = columns and rows, S = starting point
une matrice est produite comme suit:
Input 4, 3
1 2 3 0
2 2 3 0
3 3 3 0
0 0 0 0
Explication
Donné C = 4, S = 3
1) Créez une C x C
matrice remplie 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) Remplissez avec des S
valeurs dans la ligne et la colonne S
, puis soustrayez 1 de S
et répétez jusqu'à S = 0
. Ce casS = 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
Règles
- Présumer
C >= S >= 0
- La sortie peut être une matrice, une liste de listes, un tableau (unidimensionnel ou bidimensionnel), etc.
- Vous pouvez prendre des entrées via n'importe quel format d'E / S par défaut
- Votre programme, fonction, etc ... peut être à 1 indexation ou à 0 indexation. Veuillez préciser lequel.
Remarque L' explication est l'indexation 1
Critères gagnants code-golf
Octave , 31 octets
Fonction anonyme qui renvoie une matrice. Utilise l'indexation basée sur 1.
Essayez-le en ligne!
la source
Haskell ,
4745 octets-2 octets en changeant le format de sortie en liste unidimensionnelle.
Essayez-le en ligne!
Explication
Le terme
x >>= (<$> x) . max
est une version golfée dequi évalue à
[1,2,3,4..c, 2,2,3,4..c, 3,3,3,4..c, ..., c,c,c,c..c]
. Il nous suffit maintenant de forcer les valeurs à0
une fois qu'ils dépassents
que nous atteignons avecsum [ j | j <= s]
.la source
APL (Dyalog Classic), 12 octets
Essayez-le en ligne!
Tous les conseils pour en faire un train sont les bienvenus.
la source
APL (Dyalog) , 12 octets
Essayez-le en ligne!
la source
o×⎕≥o←∘.⌈⍨⍳
serait autorisé, ou devrais-tu l'assigner à une fonction pour que cela compte?JavaScript (ES6), 61 octets
Prend l'entrée dans la syntaxe de curry
(c)(s)
, où s est indexé 1. Renvoie un tableau à 1 dimension.Essayez-le en ligne!
la source
Gelée , 6 octets
Un programme complet * prenant des entiers
C
etS
qui imprime la représentation Jelly d'une liste de listes d'entiers telles que définies (1-indexées).Essayez-le en ligne! (formate le résultat de la dyade sous forme de grille de nombres pour une lecture plus facile)
Comment?
* La raison pour laquelle c'est un programme complet est en baisse à l'utilisation de l'accès des arguments du programme,
⁴
. En tant que lien dyadique, ce code dépendrait de la façon dont le programme qui l'utilise est appelé.Lien dyadique réutilisable en 8 octets (en prenant S à gauche et C à droite): Lien dyadique réutilisable en 8 octets (en prenant C à gauche et S à droite):
RiⱮⱮ»þ`}
RiⱮⱮ⁹»þ¤
la source
Java 10, 88 octets
Essayez-le en ligne.
Explication:
la source
PHP , 92 octets
C'est "1-indexation".
Pour l'exécuter:
Exemple:
Ou essayez-le en ligne!
la source
Stax , 10 octets
Exécuter et déboguer
Comment ça fonctionne:
la source
Excel VBA, 65 octets
Une fonction de fenêtre immédiate qui prend des entrées
[A1:B1]
et des sorties dans la plage[C1].Resize([A1],[A1])
.Entrée sortie
L'entrée est dans la plage
[A1:B1]
la source
J , 18 octets
Beaucoup plus long que les deux solutions APL.
Essayez-le en ligne!
la source
MATLAB, 58 octets (Merci à un utilisateur anonyme)
Il suffit de remplir les éléments de la matrice avec le nombre approprié, de faire une boucle. Peut-être possible d'être plus intelligent avec
arrayfun
la source
zeros(c)
quels coffres-forts certains octets. Avez-vous également vu cette réponse Octave, je suppose que cela fonctionnerait aussi dans Matlab?max()
faut prendre les mêmes argumentsfunction o=f(c,s);o=zeros(c);for j=s:-1:1;o(1:s,1:s)=j;end
.o(1:j,1:j)=j
C # (.NET Core) , 85 octets
Essayez-le en ligne!
Un port de la réponse de Kevin Cruijssen , bien meilleur que le mien.
la source
Python 2 , 58 octets
Essayez-le en ligne!
Génère une liste 1D de longueur
C*C
.la source
Fusain , 19 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. 3 octets utilisés pour convertir la sortie en décimal et la formater correctement. Explication:
la source
Nettoyer , 67 octets
Essayez-le en ligne!
Définit
$ :: Int Int -> [[Int]]
donner une réponse en utilisant l'indexation basée sur 1.la source
Perl 6 , 37 octets
Essayez-le en ligne!
Renvoie la matrice sous forme de tableau à 1 dimension.
la source
Mathematica 44 octets
la source