Introducción
En matemáticas, un número poligonal es un número representado como puntos o guijarros dispuestos en la forma de un polígono regular. Los puntos se consideran alfa (unidades). Estos son un tipo de números figurados bidimensionales.
El número 10, por ejemplo, se puede organizar como un triángulo:
* ** *** ****
Pero 10 no se puede organizar como un cuadrado. El número 9, por otro lado, puede ser:
*** *** ***
Algunos números, como 36, se pueden organizar como un cuadrado y un triángulo:
****** * ****** ** ****** *** ****** **** ****** ***** ****** ******
Por convención, 1 es el primer número poligonal para cualquier número de lados. La regla para agrandar el polígono al siguiente tamaño es extender dos brazos adyacentes en un punto y luego agregar los lados adicionales necesarios entre esos puntos. En los siguientes diagramas, cada capa adicional se muestra en rojo.
Números triangulares
Números cuadrados:
Los polígonos con mayor número de lados, como los pentágonos y los hexágonos, también se pueden construir de acuerdo con esta regla, aunque los puntos ya no formarán una red perfectamente regular como la anterior.
Números Pentagonales:
Números Hexagonales:
Fuente: Wikipedia
Tu tarea
Dado un número entero positivo N (1 <= N <= 1000), imprima cada tipo de Número poligonal N está comenzando desde los números triangulares hasta los números icosagonales (20 gon).
Por ejemplo, el número 10 es un número triangular y un número decagonal, por lo que la salida debería ser algo así (puede elegir su propio formato de salida, pero debería verse más o menos así):
3 10
Casos de prueba
1 -> 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
2 -> (None)
3 -> 3
6 -> 3 6
36 -> 3 4 13
Como referencia, el n
número k
número - gonal es:
Crédito: xnor
Recuerde, este es el código de golf , por lo que gana el código con la menor cantidad de bytes.
n
número k-gonal es(k-2)*n*(n-1)/2 + n
.