30 Học Python - Đếm số chia hết cho 3 hoặc chia hết cho 5
Giới Thiệu
Một số nguyên x chia hết cho 3 hoặc 5 nếu:
Nghĩa là khi chia x cho 3 hoặc 5, phần dư bằng 0.
Dưới đây là chương trình Python để đếm số lượng số chia hết cho 3 hoặc 5 và tính tổng các số chẵn trong đoạn [m, n].
# Hàm đếm số lượng số chia hết cho 3 hoặc 5
def dem_so_chia_het_cho_3_hoac_5(m, n):
count = 0
for i in range(m, n + 1):
if i % 3 == 0 or i % 5 == 0:
count += 1
return count
# Hàm tính tổng các số chẵn
def tinh_tong_so_chan(m, n):
tong = 0
for i in range(m, n + 1):
if i % 2 == 0:
tong += i
return tong
# Nhập giá trị m và n từ người dùng
m = int(input("Nhập số nguyên m: "))
n = int(input("Nhập số nguyên n: "))
# Kiểm tra điều kiện m phải nhỏ hơn hoặc bằng n
if m > n:
print("Giá trị m phải nhỏ hơn hoặc bằng n.")
else:
print(f"Số lượng số chia hết cho 3 hoặc 5 từ {m} đến {n} là: {dem_so_chia_het_cho_3_hoac_5(m, n)}")
print(f"Tổng các số chẵn từ {m} đến {n} là: {tinh_tong_so_chan(m, n)}")
Thay vì kiểm tra từng số, ta có thể tìm số lượng số chia hết cho 3 hoặc 5 trong đoạn [m, n] bằng công thức toán học:
# Hàm đếm số lượng số chia hết cho 3 hoặc 5 bằng công thức toán học
def dem_so_chia_het_cho_3_hoac_5_toan_hoc(m, n):
so_3 = n // 3 - (m - 1) // 3
so_5 = n // 5 - (m - 1) // 5
so_15 = n // 15 - (m - 1) // 15 # Tránh đếm trùng
return so_3 + so_5 - so_15
# Hàm tính tổng các số chẵn bằng công thức toán học
def tinh_tong_so_chan_toan_hoc(m, n):
if m % 2 != 0:
m += 1
if n % 2 != 0:
n -= 1
so_luong = (n - m) // 2 + 1
return (so_luong * (m + n)) // 2
# Nhập giá trị m và n từ người dùng
m = int(input("Nhập số nguyên m: "))
n = int(input("Nhập số nguyên n: "))
# Kiểm tra điều kiện
if m > n:
print("Giá trị m phải nhỏ hơn hoặc bằng n.")
else:
print(f"Số lượng số chia hết cho 3 hoặc 5 từ {m} đến {n} là: {dem_so_chia_het_cho_3_hoac_5_toan_hoc(m, n)}")
print(f"Tổng các số chẵn từ {m} đến {n} là: {tinh_tong_so_chan_toan_hoc(m, n)}")
Bài toán đếm số lượng số chia hết cho 3 hoặc 5 và tính tổng các số chẵn từ m đến n có thể giải quyết bằng nhiều cách. Sử dụng vòng lặp giúp dễ hiểu nhưng tốn thời gian hơn, trong khi sử dụng công thức toán học giúp tối ưu hiệu suất đáng kể. Hy vọng bài viết này giúp bạn hiểu rõ hơn về cách triển khai thuật toán này trong Python!
Khóa học Python online từ cơ bản đến nâng cao
Kính thưa quý phụ huynh và các bạn học sinh thân mến! Trong kỷ nguyên…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học THCS Bình Phước 2019-2020 Bằng…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Dương…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Phước…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Định…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Định…