Tâche
Étant donné deux nombres entiers d
et n
, trouvez le nombre de façons d'exprimer n
une somme de d
carrés. C'est-à- n == r_1 ^2 + r_2 ^2 + ... + r_d ^2
dire que tel r_m
est un entier pour tous les entiers 1 ≤ m ≤ d
. Notez que l'échange de deux valeurs différentes (par exemple r_1
et r_2
) est considéré comme différent de la solution d'origine.
Par exemple, le nombre 45 peut être écrit comme une somme de 2 carrés de 8 manières différentes:
45
== (-6)^2 + (-3)^2
== (-6)^2 + 3^2
== (-3)^2 + (-6)^2
== (-3)^2 + 6^2
== 3^2 + (-6)^2
== 3^2 + 6^2
== 6^2 + (-3)^2
== 6^2 + 3^2
Règles
- Les solutions intégrées sont autorisées mais non concurrentes (ahem, Mathematica )
- Les failles standard sont également interdites.
- Les entrées peuvent être inversées.
Exemple d'E / S
In: d, n
In: 1, 0
Out: 1
In: 1, 2
Out: 0
In: 2, 2
Out: 4
In: 2, 45
Out: 8
In: 3, 17
Out: 48
In: 4, 1000
Out: 3744
In: 5, 404
Out: 71440
In: 11, 20
Out: 7217144
In: 22, 333
Out: 1357996551483704981475000
C'est du code-golf , donc les soumissions utilisant le moins d'octets gagnent!
1, 0
cas de test, il y a 1
moyen d'exprimer 0
comme une somme de 1
carrés: 0 == 0^2
.