소개
수학에서 다각형 숫자는 일반 다각형 모양으로 배열 된 점 또는 자갈로 표시되는 숫자입니다. 점은 알파 (단위)로 생각됩니다. 이들은 2 차원 피구 숫자의 한 유형입니다.
예를 들어 숫자 10은 삼각형으로 배열 할 수 있습니다.
* ** *** ****
그러나 10은 사각형으로 배열 될 수 없습니다. 반면에 숫자 9는 다음과 같습니다.
*** *** ***
36과 같은 일부 숫자는 정사각형과 삼각형으로 배열 될 수 있습니다.
****** * ****** ** ****** *** ****** **** ****** ***** ****** ******
일반적으로 1은 모든면의 첫 번째 다각형 수입니다. 다각형을 다음 크기로 확대하는 규칙은 인접한 두 개의 팔을 한 점씩 확장 한 다음 해당 점 사이에 필요한 여분의 측면을 추가하는 것입니다. 다음 다이어그램에서 각 추가 레이어는 빨간색으로 표시됩니다.
삼각 숫자 :
제곱 숫자 :
오각형이나 육각형과 같이 더 많은면을 가진 다각형도이 규칙에 따라 구성 할 수 있지만 점은 더 이상 위와 같이 완벽하게 규칙적인 격자를 형성하지 않습니다.
오각형 숫자 :
6 각형 숫자 :
출처 : Wikipedia
당신의 작업
양의 정수 N (1 <= N <= 1000)이 주어지면 , 모든 유형의 다각형 수 N을 인쇄 하는 것은 삼각형 수에서 시작하여 Icosagonal (20-gon) 숫자를 포함합니다.
예를 들어 숫자 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
-gonal 수 있습니다 :
크레딧 : xnor
이것은 code-golf 이므로 바이트 수가 가장 적은 코드가 이깁니다.
n
k-gonal 수는(k-2)*n*(n-1)/2 + n
입니다.