Trong bài viết này, chúng ta sẽ học về giải pháp và phương pháp giải quyết bài toán cho trước.
Đề bài
Cho một số nguyên dương N làm đầu vào. Chúng ta cần tính giá trị của 1^2 + 2^2 + 3^2 + ... + N^2.
Bài toán này có thể giải quyết bằng hai phương pháp:
- Phép nhân cộng số học
- Sử dụng công thức toán học
Cách 1: Số học nhân & cộng
Ở đây chúng ta chạy vòng lặp từ 1 đến n và với mỗi i, 1 <= i <= n, tìm i^2 và cộng vào sm.
Ví dụ
def sqsum(n):
sm = 0
for i in range(1, n+1):
sm = sm + pow(i, 2)
return sm
# main
n = 5
print(sqsum(n))
Kết quả
55
Cách 2: Sử dụng công thức toán học
Như chúng ta biết, tổng bình phương các số tự nhiên được cho bởi công thức:
(n * (n + 1) * (2 * n + 1)) // 6
Ví dụ
def squaresum(n):
return (n * (n + 1) * (2 * n + 1)) // 6
# Driven Program
n = 10
print(squaresum(n))
Kết quả
385
Kết luận
Trong bài viết này, chúng ta đã học về cách tìm tổng bình phương n số tự nhiên đầu tiên.