งาน
กำหนดจำนวนเต็มสองจำนวน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
นี่คือโค้ดกอล์ฟดังนั้นการส่งที่ใช้ไบต์น้อยที่สุดจะชนะ!
1, 0
กรณีทดสอบมี1
วิธีการแสดง0
เป็นผลรวมของตาราง:1
0 == 0^2