Dado um número inteiro n
, imprima os primeiros n
números binários inclinados, indexados em 0 ou 1. Eles são chamados assim devido à forma como são gerados:
Escreva números em binário um sob o outro (justificado à direita):
........0
........1
.......10
.......11
......100
......101
......110
......111
.....1000
.........
Em seguida, você precisa colocar cada diagonal da parte inferior esquerda para a parte superior direita, de modo que cada dígito final seja o dígito final de uma diagonal. Aqui está a quarta diagonal (indexada a zero) marcada com x
's, que é 100
:
........0
........1
.......10
.......11
......10x
......1x1
......x10
......111
.....1000
.........
As diagonais inclinadas para cima em ordem são:
0
11
110
101
100
1111
1010
.......
Em seguida, converta para decimal, dando 0, 3, 6, 5, 4, 15, 10, ...
Isso é código-golfe , então o código mais curto em bytes vence.
n
ou o primeiro n+1
número?