Dado um número n , gere as primeiras n colunas deste padrão:
#
# #
# # # #
# # # # # # # #
# # # # # # # # # # # # # # # #
################################ ...
A altura da coluna em (indexado 1) n é o número de 0
bits à direita na representação binária de n , mais um. Como resultado, a camada inferior tem todas as colunas preenchidas, a segunda camada a cada segunda coluna, a terceira camada a cada quarta coluna, etc.
Regras
- Você pode inserir e enviar através de qualquer método padrão.
- Você pode assumir que a entrada é um número inteiro entre 1 e 999, inclusive.
- A saída pode conter qualquer quantidade de espaço em branco, desde que o padrão esteja intacto.
- O padrão deve ser indexado em 1 e no mesmo formato mostrado aqui.
- Você pode usar qualquer caractere que não seja um espaço em branco no lugar de
#
, mas não pode alterar o caractere de espaço.
Casos de teste
1
#
2
#
##
3
#
###
4
#
# #
####
5
#
# #
#####
7
#
# # #
#######
32
#
# #
# # # #
# # # # # # # #
# # # # # # # # # # # # # # # #
################################
Alguns casos de teste maiores podem ser encontrados aqui .
Pontuação
Isso é código-golfe , então o código mais curto em bytes em cada idioma vence.
#
?