Теорема Ферма о полигональных числах утверждает, что каждое положительное целое число может быть выражено как сумма не более чем -угольных чисел. Это означает, что каждое положительное целое число может быть выражено как сумма до трех треугольных чисел, четырех квадратных чисел, пяти пятиугольных чисел и т. Д. Ваша задача состоит в том, чтобы взять положительное целое число и целое число и вывести -угольные целые числа, которые суммируются с .
В -й -gonal целым числом, где и , может быть определено в несколькими способами. Нематематический способ состоит в том, что е -угольное число может быть построено как правильный многоугольник с сторонами, каждая из которых имеет длину . Например, для (треугольные числа):
Смотрите здесь примеры с большими .
Математика у-определение, используя формулу для , что дает -й -gonal номер:
который приведен на странице Википедии здесь .
вход
Два натуральных числа и с условием . Вы можете ввести эти целые числа в наиболее естественном представлении на вашем языке (десятичные, унарные, церковные цифры, целочисленные числа с плавающей запятой и т. Д.).
Выход
Список целых чисел с максимальной длиной , где сумма равна а все целые числа в являются -угольными целыми числами. Снова, целые числа могут быть выведены в естественном представлении на вашем языке, с любым отличным, непротиворечивым разделителем (таким образом, недесятичный символ (ы) для десятичного вывода, символ, отличный от того, который используется для унарного вывода и т. Д.)
правила
- Входы или выходы никогда не превысят целочисленное ограничение для вашего языка
- не нужно заказывать
- В случае нескольких возможных выходов, любой или все являются приемлемыми
- Это код-гольф, поэтому выигрывает самый короткий код в байтах
Контрольные примеры
x, s => L
1, s => 1
2, s => 1, 1
5, 6 => 1, 1, 1, 1, 1
17, 3 => 1, 6, 10
17, 4 => 1, 16
17, 5 => 5, 12
36, 3 => 36
43, 6 => 15, 28
879, 17 => 17, 48, 155, 231, 428
4856, 23 => 130, 448, 955, 1398, 1925
x=17, s=5
можем ли мы вывести 5,12,0,0,0
вместо просто 5,12
?
Q
к своему представлению?