Dado un número n , genere las primeras n columnas de este patrón:
#
# #
# # # #
# # # # # # # #
# # # # # # # # # # # # # # # #
################################ ...
La altura de la columna en (1-indexado) n es el número de 0
bits finales en la representación binaria de n , más uno. Como resultado, la capa inferior tiene cada columna rellenada, la segunda capa cada segunda columna, la tercera capa cada cuarta columna, etc.
Reglas
- Puede ingresar y salir a través de cualquier método estándar.
- Puede suponer que la entrada es un número entero entre 1 y 999, inclusive.
- La salida puede contener cualquier cantidad de espacio en blanco, siempre que el patrón esté intacto.
- El patrón debe estar indexado en 1 y en el mismo formato que se muestra aquí.
- Puede usar cualquier carácter que no sea un espacio en blanco en lugar de
#
, pero no puede cambiar el carácter del espacio.
Casos de prueba
1
#
2
#
##
3
#
###
4
#
# #
####
5
#
# #
#####
7
#
# # #
#######
32
#
# #
# # # #
# # # # # # # #
# # # # # # # # # # # # # # # #
################################
Aquí se pueden encontrar algunos casos de prueba más grandes .
Tanteo
Este es el código de golf , por lo que gana el código más corto en bytes en cada idioma.
#
?