29 Học Python – Đếm số chia hết cho 3 từ m đến n mới nhất

5/5 - (1 bình chọn)

Bài 29: Đếm Số Chia Hết Cho 3 Từ m Đến n Bằng Python

Giới Thiệu

Bài toán đếm số lượng các số chia hết cho 3 trong khoảng từ m đến n là một bài toán phổ biến trong lập trình. Nó có nhiều ứng dụng trong thống kê, xử lý dữ liệu và toán học. Bài viết này sẽ hướng dẫn cách giải quyết bài toán bằng Python một cách hiệu quả.

Ưu Đãi lớn thêm danh sách 10 bài tập python  rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 21: Tìm Những Số Chia Hết Cho 3 bằng Python mới nhất
  2. Bài 22: Đếm Số Lượng Số Chia Hết Cho 3 Bằng Python
  3. Bài 23 : Tính Tổng Những Số Chẵn Bằng Python
  4. Bài 24 Tính Tổng Những Số Chia Hết Cho 3 Hoặc 5 Bằng Python
  5. Bài 25:  Đếm Số Ước Của Số Nguyên n Bằng Python
  6. Bài 26 – Tính Tổng Những Số Chia Hết Cho 3 và 5 bằng Python
  7. Bài 27: Kiểm tra số nguyên tố bằng Python (2 cách tối ưu)

  8. Bài 28: Tính Tổng Các Số Nguyên Từ m Đến n Bằng Python
  9. Bài 29: Đếm Số Chia Hết Cho 3 Từ m Đến n Bằng Python
  10. Bài 30 Đếm Số Chia Hết Cho 3 Hoặc 5 Và Tính Tổng Các Số Chẵn Bằng Python

Cách Xác Định Số Chia Hết Cho 3

Một số nguyên x chia hết cho 3 nếu:

Nghĩa là khi chia x cho 3, phần dư bằng 0.

Viết Chương Trình Python

Dưới đây là chương trình Python để đếm số lượng số chia hết cho 3 trong đoạn [m, n].

 

# Hàm đếm số lượng số chia hết cho 3 từ m đến n
def dem_so_chia_het_cho_3(m, n):
    count = 0
    for i in range(m, n + 1):
        if i % 3 == 0:
            count += 1
    return count
# 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 từ {m} đến {n} là: {dem_so_chia_het_cho_3(m, n)}")

 

Giải Thích Chương Trình

  • Hàm dem_so_chia_het_cho_3(m, n): Duyệt qua từng số từ m đến n, kiểm tra xem số đó có chia hết cho 3 không, và đếm lại.
  • Nhập giá trị m và n: Nhận hai số nguyên từ người dùng.
  • Kiểm tra điều kiện m ≤ n: Đảm bảo khoảng hợp lệ trước khi tính toán.
  • Hiển thị kết quả: Xuất số lượng các số chia hết cho 3.

Cách Tối Ưu

Thay vì kiểm tra từng số, ta có thể tìm số lượng số chia hết cho 3 trong đoạn [m, n] bằng cách sử dụng công thức toán học:

 

# Hàm đếm số lượng số chia hết cho 3 bằng công thức toán học
def dem_so_chia_het_cho_3_toan_hoc(m, n):
    so_lon_nhat = n // 3
    so_nho_nhat = (m - 1) // 3
    return so_lon_nhat - so_nho_nhat
# 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 từ {m} đến {n} là: {dem_so_chia_het_cho_3_toan_hoc(m, n)}")

 

Giải Thích Cách Tối Ưu

  • Tìm số lượng số chia hết cho 3 nhỏ hơn hoặc bằng n: n // 3
  • Tìm số lượng số chia hết cho 3 nhỏ hơn m: (m-1) // 3
  • Hiệu số hai kết quả: Sẽ cho số lượng số chia hết cho 3 trong khoảng [m, n].
  • Độ phức tạp O(1): Chỉ thực hiện phép toán đơn giản, không cần duyệt từng số.

Ứng Dụng

  • Tính toán nhanh số lượng số chia hết cho 3 trong khoảng nhất định.
  • Áp dụng trong xử lý dữ liệu, thống kê, kiểm tra điều kiện.
  • Cải thiện hiệu suất các thuật toán làm việc với số nguyên lớn.

Kết Luận

Bài toán đếm số lượng số chia hết cho 3 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!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

MỜI BẠN ĐẶT CÂU HỎI ? MÌNH SẼ GIẢI ĐÁP HẾT !