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")