Bài tập
Cho hai số nguyên d
và n
, tìm số cách biểu thị n
dưới dạng tổng d
bình phương. Đó là, n == r_1 ^2 + r_2 ^2 + ... + r_d ^2
đó r_m
là một số nguyên cho tất cả các số nguyên 1 ≤ m ≤ d
. Lưu ý rằng việc hoán đổi hai giá trị khác nhau (ví dụ r_1
và r_2
) được coi là khác với giải pháp ban đầu.
Chẳng hạn, số 45 có thể được viết dưới dạng tổng của 2 hình vuông 8 cách khác nhau:
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
Quy tắc
- Các giải pháp tích hợp được cho phép nhưng không cạnh tranh (ahem, Mathematica )
- Sơ hở tiêu chuẩn cũng bị cấm.
- Các đầu vào có thể được đảo ngược.
Ví dụ 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
Đây là môn đánh gôn , vì vậy các bài nộp sử dụng ít byte nhất sẽ giành chiến thắng!
1, 0
trường hợp thử nghiệm, có một 1
cách để thể hiện 0
dưới dạng tổng bình phương 1
: 0 == 0^2
.