직무
두 개의 정수 d
와가 주어지면 제곱 의 합으로 n
표현할 수있는 방법의 수를 찾으십시오 . 즉, 같은 그 모든 정수의 정수입니다 . 서로 다른 두 값 (예 : 및 ) 을 바꾸는 것은 원래 솔루션과 다른 것으로 간주됩니다.n
d
n == r_1 ^2 + r_2 ^2 + ... + r_d ^2
r_m
1 ≤ m ≤ d
r_1
r_2
예를 들어, 숫자 45는 2 개의 제곱의 8 가지 방법으로 합칠 수 있습니다.
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
규칙
- 내장 솔루션은 허용되지만 경쟁이 아님 (ahem, Mathematica )
- 표준 허점도 금지되어 있습니다.
- 입력이 반전 될 수 있습니다.
예제 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
이것은 code-golf 이므로 가장 적은 바이트를 사용하여 제출하면 승리합니다!
1, 0
테스트 케이스의 경우 제곱 의 합으로 1
표현하는 방법이 있습니다. 0
1
0 == 0^2