El Triángulo de Seidel es una construcción matemática similar al Triángulo de Pascal, y es conocido por su conexión con los números de Bernoulli.
Las primeras filas son:
1
1 1
2 2 1
2 4 5 5
16 16 14 10 5
16 32 46 56 61 61
Cada fila se genera de la siguiente manera:
Si el número de fila es par (1 indexado):
Baja el primer elemento de la fila anterior
Cada elemento siguiente es la suma del elemento anterior y el elemento que está encima
Duplicar el último artículo
Si el número de fila es impar:
Baja el último elemento de la fila anterior
Yendo hacia atrás , cada elemento es la suma del elemento anterior y el elemento que está encima
Duplica lo que ahora es el primer elemento.
Básicamente, construimos el triángulo en un patrón de zig-zag:
1
v
1 > 1
v
2 < 2 < 1
v
2 > 4 > 5 > 5
Para obtener más información, consulte la página de Wikipedia sobre los números de Bernoulli.
El reto:
Dado n
, ya sea como argumento de función o desde STDIN, imprima o devuelva la n
fila th del triángulo de Seidel o las primeras n
filas. Puede usar 0 o 1 indexación.
No es necesario que maneje una entrada negativa o no entera (ni 0, si está indexada en 1). No tiene que manejar salidas más grandes que2147483647 = 2^31 - 1
Como se trata de código de golf, hazlo en el menor número de bytes posible.
Ejemplos:
En estos ejemplos, el valor de retorno es la n
fila th, indexada en 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