Tarefa
Dado dois números inteiros de n, encontre o número de maneiras de expressar ncomo uma soma dos dquadrados. Ou seja,, n == r_1 ^2 + r_2 ^2 + ... + r_d ^2tal que r_mseja um número inteiro para todos os números inteiros 1 ≤ m ≤ d. Observe que a troca de dois valores diferentes (por exemplo, r_1e r_2) é considerada diferente da solução original.
Por exemplo, o número 45 pode ser escrito como uma soma de 2 quadrados de 8 maneiras diferentes:
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
Regras
- Soluções integradas são permitidas, mas não concorrentes (ahem, Mathematica )
- As brechas padrão também são proibidas.
- As entradas podem ser revertidas.
Exemplo de 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
Isso é código-golfe , então envios usando o menor número de bytes ganham!
1, 0caso de teste, não há 1maneira de expressar 0como uma soma de 1quadrado: 0 == 0^2.