Le théorème des nombres polygonaux de Fermat stipule que chaque entier positif peut être exprimé comme la somme d'au plus -gonaux. Cela signifie que chaque entier positif peut être exprimé comme la somme d'un maximum de trois nombres triangulaires, quatre nombres carrés, cinq nombres pentagonaux, etc. Votre tâche consiste à prendre un entier positif et un entier , et à générer -entiers régionaux qui totalisent .
Le ème entier régional, où et , peut être défini de deux manières. Le non-math-y voie est que la ième nombre -gonal peut être réalisé sous la forme d' un polygone régulier à côtés, chacune de longueur . Par exemple, pour (nombres triangulaires):
Voir ici pour des exemples avec un plus grand .
La définition mathématique est en utilisant la formule pour , qui donne le ème -nombre régional:
qui est donné dans la page Wikipedia ici .
Contribution
Deux entiers positifs, et , avec la condition . Vous pouvez entrer ces nombres entiers dans la représentation la plus naturelle de votre langue (décimal, unaire, chiffres d'église, nombres à virgule flottante à valeur entière, etc.).
Production
Une liste de nombres entiers, , d'une longueur maximale de , où la somme de est égale à et tous les entiers de sont nombres entiers -gonal. Encore une fois, les entiers peuvent être sortis dans la représentation naturelle de votre langue, avec n'importe quel séparateur distinct et cohérent (donc des caractères non décimaux pour la sortie décimale, un caractère différent de celui utilisé pour la sortie unaire, etc.)
Règles
- Les entrées ou sorties ne dépasseront jamais la limite entière pour votre langue
- ne doit pas être commandé
- En cas de sorties multiples possibles, tout ou partie est acceptable
- C'est le code-golf donc le code le plus court en octets gagne
Cas de test
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
pourrions produire 5,12,0,0,0
au lieu de simplement 5,12
?
Q
à ma soumission?