仕事
2つの整数d
とが与えられた場合、平方和としてn
表現する方法の数を見つけます。つまり、そのようなことは、すべての整数の整数です。2つの異なる値(たとえばと)を交換することは、元のソリューションとは異なると見なされることに注意してください。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