Враховуючи ціле число n
, виведіть перші n
похилі двійкові числа, 0 або 1-індексовані. Вони називаються цим через те, як вони генеруються:
Запишіть числа у двійковій формі один під одним (правильно виправдано):
........0
........1
.......10
.......11
......100
......101
......110
......111
.....1000
.........
Потім потрібно взяти кожну діагональ зліва-вліво-вправо, таким чином, щоб кожна кінцева цифра була кінцевою цифрою діагоналі. Ось четверта діагональ (нульова індексація), позначена символом x
's, а саме 100
:
........0
........1
.......10
.......11
......10x
......1x1
......x10
......111
.....1000
.........
Діагоналі вгору похилі в порядку:
0
11
110
101
100
1111
1010
.......
Потім перетворіть у десятковий, даючи 0, 3, 6, 5, 4, 15, 10, ...
Це код-гольф , тому виграє найкоротший код у байтах.
n
або перше n+1
число?