โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)โดยใช้จำนวนเต็มตั้งแต่ 1 ถึง n ให้คำนวณสองค่าดังนี้: นำจำนวนเต็มทั้งหมดมาบวกกันแล้วนำผลลัพธ์ไปยกกำลังสอง; แยกกัน ให้นำแต่ละจำนวนเต็มมายกกำลังสองแล้วนำผลลัพธ์เหล่านั้นมาบวกกัน จากนั้นให้คืนค่าผลต่างระหว่างค่าทั้งสองนี้
ให้เขียนฟังก์ชัน difference_of_squares(n)
อินพุต
n: จำนวนเต็มสุดท้ายที่ต้องนำมาคำนวณ
เอาต์พุต
คืนค่ากำลังสองของผลรวมลบด้วยผลรวมของกำลังสอง
เงื่อนไข
0 ≤ n ≤ 50,000 สำหรับ n = 0 ทั้งสองผลรวมจะเป็น 0 ค่าที่ต้องใช้ทั้งหมดอยู่ในช่วงของจำนวนเต็ม signed 64 บิต
ตัวอย่าง
อินพุต:
n = 4
ผลลัพธ์ที่คาดหวัง:
expected = 70
อินพุต:
long long n = 4;
ผลลัพธ์ที่คาดหวัง:
long long expected = 70;
อินพุต:
long n = 4;
ผลลัพธ์ที่คาดหวัง:
long expected = 70;
คำอธิบาย
(1 + 2 + 3 + 4)² = 100 ผลรวมของกำลังสองคือ 1 + 4 + 9 + 16 = 30 นำมาลบกัน: 100 − 30 = 70
อินพุต:
n = 1
ผลลัพธ์ที่คาดหวัง:
expected = 0
อินพุต:
long long n = 1;
ผลลัพธ์ที่คาดหวัง:
long long expected = 0;
อินพุต:
long n = 1;
ผลลัพธ์ที่คาดหวัง:
long expected = 0;
คำอธิบาย
ทั้งสองค่ามีค่าเท่ากับ 1 ดังนั้นผลต่างคือ 0
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน