Le Triangle Seidel est une construction mathématique similaire au Triangle de Pascal, et est connu pour sa connexion aux nombres de Bernoulli.
Les premières lignes sont les suivantes:
1
1 1
2 2 1
2 4 5 5
16 16 14 10 5
16 32 46 56 61 61
Chaque ligne est générée comme suit:
Si le numéro de ligne est pair (indexé 1):
Faire tomber le premier élément de la ligne précédente
Chaque élément suivant est la somme de l'élément précédent et de l'élément au-dessus
Dupliquer le dernier élément
Si le numéro de ligne est impair:
Faire tomber le dernier élément de la ligne précédente
En reculant , chaque élément est la somme de l'élément précédent et de l'élément au-dessus
Dupliquez ce qui est maintenant le premier élément.
Fondamentalement, nous construisons le triangle en zigzag:
1
v
1 > 1
v
2 < 2 < 1
v
2 > 4 > 5 > 5
Pour plus d'informations, consultez la page Wikipedia sur les numéros de Bernoulli.
Le défi:
Étant donné n
, soit en tant qu'argument de fonction, soit à partir de STDIN, imprimez ou renvoyez la n
troisième ligne du triangle Seidel ou les premières n
lignes. Vous pouvez utiliser l'indexation 0 ou 1.
Vous n'avez pas besoin de gérer les entrées négatives ou non entières (ni 0, si elles sont indexées sur 1). Vous n'avez pas besoin de gérer des sorties supérieures à2147483647 = 2^31 - 1
Comme il s'agit de code-golf, faites-le en aussi peu d'octets que possible.
Exemples:
Dans ces exemples, la valeur de retour est la n
e ligne, indexée sur 0.
Input -> Output
0 1
1 1 1
2 2 2 1
6 272 272 256 224 178 122 61
13 22368256 44736512 66750976 88057856 108311296 127181312 144361456 159575936 172585936 183194912 191252686 196658216 199360981 199360981