Теорема полігональних чисел Ферма стверджує, що кожне додатне ціле число може бути виражене сумою не більше -гональних чисел. Це означає, що кожне додатне ціле число може бути виражене сумою до трьох чисел трикутника, чотирьох квадратних чисел, п'яти п’ятикутних чисел тощо. Ваше завдання - взяти додатне ціле число , ціле число і вивести -гональні цілі числа, які дорівнюють .
-й -gonal цілого числа, де і , може бути визначений в кілька способах. Нематематичний у-спосіб полягає в тому, що е -гональне число може бути побудовано як звичайний многокутник зі сторонами, кожна довжиною . Наприклад, для (трикутні числа):
Дивіться тут приклади з великим .
Визначення math-y здійснюється за допомогою формули для , яка дає -го -гонального числа:
яка наведена тут на сторінці Вікіпедії .
Вхідні дані
Дві додатні цілі числа, і , при умові . Ви можете ввести ці цілі числа в найприроднішому зображенні на вашій мові (десяткових, одинарних, церковних цифр, цілих чисел з плаваючою комою тощо).
Вихідні дані
Список цілих чисел, , з максимальною довжиною , де сума дорівнює а всі цілі числа в - -гональні цілі числа. Знову-таки, цілі числа можуть бути виведені в натуральному поданні на вашій мові з будь-яким чітким, послідовним роздільником (таким чином, недесятковим символом для десяткового виводу, символом, відмінним від того, який використовується для одинакового виведення тощо).
Правила
- Входи або виходи ніколи не перевищуватимуть цілої межі для вашої мови
- не потрібно замовляти
- У випадку декількох можливих виходів будь-який або всі є прийнятними
- Це код-гольф, тому найкоротший код у байтах виграє
Тестові кейси
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
до моєї подачі?