Para qualquer número inteiro positivo k
, vamos d(k)
denotar o número de divisores de k
. Por exemplo, d(6)
é 4
, porque 6
tem 4
divisores (ou seja 1
, 2
, 3
, 6
).
Dado um número inteiro positivo N
, exiba um "horizonte" na arte ASCII usando um caractere fixo, de modo que a altura do "edifício" localizado na posição horizontal k
seja d(k)
para k = 1, ..., N
. Veja os casos de teste abaixo.
Regras
- Qualquer caractere que não seja um espaço em branco pode ser usado consistentemente, não necessariamente
#
como mostrado nos casos de teste. - O algoritmo deve teoricamente funcionar arbitrariamente alto
N
. Na prática, é aceitável se o programa for limitado por tempo, memória, tamanho do tipo de dados ou tamanho da tela. - São permitidos espaços à frente ou à direita, na horizontal ou na vertical, ou novas linhas.
- A entrada e a saída podem ser obtidas por qualquer meio razoável .
- Programas ou funções são permitidos, em qualquer linguagem de programação . As brechas padrão são proibidas.
- O menor código em bytes vence.
Casos de teste
N = 10
:
# # #
# # ###
#########
##########
N = 50
:
#
# #
# # # # # #
# # # # # #
# # # # # # # # # # ## # #
# # # # # # # # # # # ## # #
# # # # ### # ### # ### # ##### ### # ### # #
# # ### # ### # ### ##### # ##### ### # ### ###
#################################################
##################################################
N = 200
:
#
#
# # #
# # # #
# # # # #
# # # # #
# # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # ## # # # # # # # # # # # # # # # # # # ## # ## # #
# # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # ## # # # # # # # # # # # # # # # # # # ## # ## # #
# # # # # # # # # # ## # # # # # # ## # # # # ## # # # # # # # ### # ## # # # # ## # # # # # # ## # # # ## # ### # # # ## # ### ### # # # # ### # ## # #
# # # # # # # # # # # ## # # # # # # ## # # # # ## # ## # # # # # ### # ## # # # # ## # # # # # # ## # # # ## # ### # # # ## # ### ### # # # # ### # ## # #
# # # # ### # ### # ### # ##### ### # ### # ### ##### # ##### ### # ##### ### ##### ####### ### # ### # ### ####### ##### ### ##### # ######### # ##### ##### ### # ### ##### # ######### # ### # #
# # ### # ### # ### ##### # ##### ### # ### ##### ##### # ##### ### # ##### ### ##### ####### ### # ### # ### ############# ### ##### # ######### # ##### ##### ### ##### ##### # ######### # ### # #
#######################################################################################################################################################################################################
########################################################################################################################################################################################################