Una pirámide de diferencia es una pirámide donde cada nueva diagonal es el valor absoluto de las diferencias entre los elementos de la última diagonal. Por ejemplo, si comenzamos con la matriz
2 5 4 9 3 4
Ahora, los organizamos en una columna diagonal:
2
5
4
9
3
4
Ahora, completamos la siguiente diagonal. Las diferencias absolutas entre los elementos consecutivos de esta matriz son:
3 1 5 6 1
Entonces esa es nuestra próxima diagonal.
2
3 5
1 4
5 9
6 3
1 4
Repita hasta completar la pirámide:
2
3 5
2 1 4
2 4 5 9
1 3 1 6 3
0 1 4 5 1 4
El reto
Dada una lista de enteros positivos en el rango [0, 9]
, genere esta representación ASCII-art de la pirámide de diferencia para esa matriz en particular. Se garantiza que la entrada contiene al menos dos elementos. Puede tomar estos números en cualquier formato razonable. (Array / list / como se llame, una cadena, argumentos de línea de comando, etc.) Se permiten espacios finales en cada línea y hasta una nueva línea final.
Prueba IO
[1, 2, 3, 4, 5, 6, 7, 8, 9]
1
1 2
0 1 3
0 0 1 4
0 0 0 1 5
0 0 0 0 1 6
0 0 0 0 0 1 7
0 0 0 0 0 0 1 8
0 0 0 0 0 0 0 1 9
[4, 7]
4
3 7
[3, 3, 3]
3
0 3
0 0 3
[1, 3, 6, 3, 4, 9]
1
2 3
1 3 6
1 0 3 3
1 2 2 1 4
1 0 2 4 5 9
[8, 7, 3, 2, 4, 5, 9, 1, 6]
8
1 7
3 4 3
0 3 1 2
2 2 1 2 4
0 2 0 1 1 5
0 0 2 2 3 4 9
1 1 1 1 1 4 8 1
0 1 0 1 0 1 3 5 6
Como de costumbre, este es el código de golf, por lo que se aplican las lagunas estándar, ¡y la respuesta más corta en bytes gana!
Inspirado por este OEIS y esta conjetura .