26 Học Python - Tính Tổng Những Số Chia Hết Cho 3 và 5 Python
Bài 26 – Tính Tổng Những Số Chia Hết Cho 3 và 5 bằng Python
Python là một ngôn ngữ lập trình mạnh mẽ, linh hoạt và dễ sử dụng, giúp thực hiện các phép toán số học một cách nhanh chóng và chính xác. Trong bài viết này, chúng ta sẽ tìm hiểu cách tính tổng các số chia hết cho 3 và 5 trong một khoảng nhất định bằng hai phương pháp: cách đơn giản và cách tối ưu.
DANH SÁCH TÓM TẮT:
Cho một số nguyên dương n
, hãy tính tổng tất cả các số từ 1
đến n
chia hết cho cả 3
và 5
.
Cách đầu tiên là sử dụng vòng lặp để duyệt từng số từ 1
đến n
và kiểm tra xem số đó có chia hết cho 3
và 5
hay không. Nếu có, ta cộng số đó vào tổng.
def tinh_tong_don_gian(n):
tong = 0
for i in range(1, n + 1):
if i % 3 == 0 and i % 5 == 0:
tong += i
return tong
# Nhập giá trị n từ người dùng
n = int(input("Nhập số nguyên dương n: "))
print(f"Tổng các số chia hết cho 3 và 5 từ 1 đến {n} là: {tinh_tong_don_gian(n)}")
for
để duyệt qua từng số từ 1
đến n
.3
và 5
.tong
.n
lớn, vì phải duyệt qua tất cả các số từ 1
đến n
.Thay vì duyệt từng số, ta có thể tính tổng trực tiếp bằng công thức của cấp số cộng. Tổng của các số chia hết cho d
trong khoảng từ 1
đến n
là:
total = d * (k * (k + 1)) // 2
Với k = n // d
là số lượng bội số của d
trong khoảng từ 1
đến n
.
def tinh_tong_toi_uu(n):
def tong_boi_so(d):
k = n // d
return d * (k * (k + 1)) // 2
return tong_boi_so(3) + tong_boi_so(5) - tong_boi_so(15)
# Nhập giá trị n từ người dùng
n = int(input("Nhập số nguyên dương n: "))
print(f"Tổng các số chia hết cho 3 và 5 từ 1 đến {n} là: {tinh_tong_toi_uu(n)}")
tong_boi_so(d)
tính tổng các bội số của d
từ 1
đến n
bằng công thức cấp số cộng.3
và 5
, nhưng do các bội số chung của 3
và 5
(tức là bội số của 15
) bị tính hai lần, nên ta phải trừ đi tổng bội số của 15
.n
lớn.Phương pháp | Thời gian chạy | Độ phức tạp | Độ hiệu quả |
---|---|---|---|
Duyệt từng số | Chậm với n lớn | O(n) | Trung bình |
Sử dụng công thức | Nhanh, tối ưu | O(1) | Cao |
Bài toán tính tổng các số chia hết cho 3
và 5
có thể được giải quyết bằng nhiều cách. Cách tiếp cận đơn giản phù hợp với những ai mới học lập trình, trong khi cách tiếp cận tối ưu giúp tiết kiệm thời gian xử lý. Tùy vào bài toán thực tế, bạn có thể lựa chọn phương pháp phù hợp nhất.
Khóa học Python online từ cơ bản đến nâng cao
2 Đề thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang có đáp án SỞ…
1 Đề Thi Học Sinh Giỏi Tin học THCS cấp Tỉnh Tiền Giang có đáp…
Phần 1: Các bài tập dễ và cơ bản làm được các bài này các…
100 triệu là mức lương của lập trình Python vì sao? 1. Vì sao Python…
Bài 71: Đổi tất cả ký tự trong một chuỗi thành ký tự thường bằng…
Bài 15: Cộng, Trừ, Căn Bậc Hai bằng Python mới nhất 2025 - 2026 Python…
This website uses cookies.