Трикутник Зейделя - це математична конструкція, схожа на трикутник Паскаля, і відома тим, що пов’язана з номерами Бернуллі.
Перші рядки:
1
1 1
2 2 1
2 4 5 5
16 16 14 10 5
16 32 46 56 61 61
Кожен рядок формується наступним чином:
Якщо номер рядка парний (1-індексований):
Зніміть перший пункт попереднього рядка
Кожен наступний елемент - це сума попереднього елемента та елемента над ним
Скопіюйте останній елемент
Якщо номер рядка непарний:
Знесіть останній елемент попереднього рядка
Якщо повернутись назад , кожен елемент - це сума попереднього пункту та предмета над ним
Скопіюйте те, що зараз є першим пунктом.
В основному ми побудуємо трикутник за зигзагоподібною схемою:
1
v
1 > 1
v
2 < 2 < 1
v
2 > 4 > 5 > 5
Для отримання додаткової інформації дивіться сторінку Вікіпедії за номерами Бернуллі.
Змагання:
Дано n
, або як аргумент функції, або з STDIN, надрукуйте або поверніть або n
третій рядок трикутника Сейделя або перші n
рядки. Ви можете використовувати індексацію 0 або 1.
Вам не потрібно обробляти негативний чи не цілий вхід (ні 0, якщо 1-індексований). Вам не доведеться обробляти виходи, більші за2147483647 = 2^31 - 1
Оскільки це код-гольф, зробіть це в якомога менше байтах.
Приклади:
У цих прикладах значенням повернення є n
th-й ряд, 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