Compito
Dati due numeri interi d
e n
, trova il numero di modi per esprimere n
come somma di d
quadrati. Cioè n == r_1 ^2 + r_2 ^2 + ... + r_d ^2
, tale r_m
è un numero intero per tutti i numeri interi 1 ≤ m ≤ d
. Si noti che lo scambio di due valori diversi (ad es. r_1
E r_2
) è considerato diverso dalla soluzione originale.
Ad esempio, il numero 45 può essere scritto come una somma di 2 quadrati in 8 modi diversi:
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
Regole
- Le soluzioni integrate sono consentite ma non concorrenti (ahem, Mathematica )
- Sono inoltre vietate le scappatoie standard.
- Gli ingressi possono essere invertiti.
Esempio di I / O
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
Si tratta di code-golf , quindi vinci gli invii utilizzando il minor numero di byte!
1, 0
banco di prova, non v'è 1
modo di esprimere 0
come somma di 1
piazza: 0 == 0^2
.