介绍
在数学中,多边形数是表示为以规则多边形形状排列的点或小卵石的数字。点被认为是alpha(单位)。这些是二维图形数字的一种类型。
例如,数字10可以排列成三角形:
* ** *** ****
但是不能将10布置成正方形。另一方面,数字9可以是:
*** *** ***
一些数字(例如36)既可以布置为正方形,也可以布置为三角形:
****** * ****** ** ****** *** ****** **** ****** ***** ****** ******
按照惯例,1是任何数量的边的第一个多边形。将多边形放大到下一个尺寸的规则是将两个相邻的臂延伸一个点,然后在这些点之间添加所需的额外边。在下图中,每个额外的层都显示为红色。
三角数:
平方数:
尽管点不再像上面那样形成完全规则的晶格,但也可以根据此规则构造边数更多的多边形,例如五边形和六边形。
五角数字:
六角数:
资料来源:维基百科
你的任务
给定正整数N(1 <= N <= 1000),则打印每种类型的多边形N都是从三角数开始,直至包括余角(20角)数。
例如,数字10是一个三角数和一个十进制数,因此输出应类似于(您可以选择自己的输出格式,但看起来应该像这样):
3 10
测试用例
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
作为参考,n
第- k
角数为:
信用:xnor
请记住,这是code-golf,所以字节最少的代码将获胜。
n
第k个平方数为(k-2)*n*(n-1)/2 + n
。