Créez un triangle de Pascal qui est une liste imbriquée et contient des zéros dans les emplacements inutilisés.
Dans le tableau de sortie, les nombres du triangle de Pascal sont séparés par des zéros et remplis par des zéros de chaque côté afin qu'ils soient centrés. Par exemple, la ligne du bas (dernier sous-tableau) ne doit pas avoir de zéros à gauche et à droite; l'avant-dernier sous-tableau a un remplissage nul de chaque côté, et ainsi de suite.
Voici la sortie pour l'entrée 5
:
[[0,0,0,0,1,0,0,0,0],
[0,0,0,1,0,1,0,0,0],
[0,0,1,0,2,0,1,0,0],
[0,1,0,3,0,3,0,1,0],
[1,0,4,0,6,0,4,0,1]]
Comme d'habitude, la solution avec le moins d'octets l'emporte.
print("def pascal(n):\n #make the nested list\n a=[[0 for i in range(2*n+1)] for j in range(n+1)] #make the list\n a[0][n]=1 #add the initial 1\n for i in range(1,n+1):\n for j in range(2*n+1):\n a[i][j]=a[i-1][j-1]+a[i-1][(j+1)%(2*n+1)] #the main part\n return a")
Réponses:
Mathematica,
7068 octetsSimilaire à la solution MATL.
la source
Mathematica, 48 octets
CellularAutomation
est fantastique.la source
Gelée, 12 octets
Essayez-le ici.
Explication
la source
Haskell, 66 octets
Exemple d'utilisation:
q 4
->[[0,0,0,1,0,0,0],[0,0,1,0,1,0,0],[0,1,0,2,0,1,0],[1,0,3,0,3,0,1]]
.Comment ça fonctionne:
la source
Python 3,
172158133 octetsContinue à s'améliorer
la source
MATL ,
242221 octetsEDIT (20 mai 2016): à partir de la version 18.0.0 de la langue, le code ci-dessus a besoin de quelques modifications pour s'exécuter. Le lien ci-dessous inclut ces modifications
Essayez-le en ligne!
Cela utilise une boucle pour pousser chaque nouvelle ligne sur la pile. Une nouvelle ligne est calculée à partir de la ligne précédente en appliquant une convolution avec
[1,0,1]
et en conservant uniquement la taille souhaitée. Après la boucle, toutes les lignes sont concaténées dans un tableau 2D, qui s'affiche. Les tableaux 2D sont affichés dans MATL sous forme de tableaux numériques alignés sur les colonnes.la source
Javascript,
152146 octetsAfficher l'extrait de code
la source
Sérieusement, 33 octets
Essayez-le en ligne
Je suis relativement certain qu'au moins 7 de ces octets peuvent être rasés, donc je vais attendre de poster une explication jusqu'à ce que j'aie fini de jouer plus loin.
la source
PHP , 106 octets
Essayez-le en ligne!
la source