Вступление
В математике многоугольное число - это число, представленное точками или камешками, расположенными в форме правильного многоугольника. Точки считаются альфами (единицами). Это один тип двумерных фигурных чисел.
Например, число 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
Помните, это код-гольф , поэтому выигрывает код с наименьшим количеством байтов.
n
k-го числа является(k-2)*n*(n-1)/2 + n
.