Різнична піраміда - це піраміда, де кожна нова діагональ - це абсолютне значення відмінностей між елементами останньої діагоналі. Наприклад, якщо ми почнемо з масиву
2 5 4 9 3 4
Тепер ми розташовуємо їх у діагональній колонці:
2
5
4
9
3
4
Тепер заповнюємо наступну діагональ. Абсолютні відмінності між послідовними елементами цього масиву:
3 1 5 6 1
Отже, це наша наступна діагональ.
2
3 5
1 4
5 9
6 3
1 4
Повторіть, доки піраміда не заповниться:
2
3 5
2 1 4
2 4 5 9
1 3 1 6 3
0 1 4 5 1 4
Змагання
Подаючи список позитивних цілих чисел у діапазоні [0, 9]
, створіть це ASCII-мистецтво подання різницької піраміди для конкретного масиву. Вхід гарантовано містить щонайменше два елементи. Ви можете приймати ці номери в будь-якому розумному форматі. (Масив / список / як би ви його не називали, рядок, аргументи командного рядка та ін.) Дозволені пробіли у кожному рядку та до одного останнього нового рядка.
Тест 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
Як завжди, це код-гольф, тому застосовуються стандартні лазівки, і найкоротша відповідь у байтах виграє!
Натхненний цим OEIS і цією гіпотезою .