31 Học Python - Đếm số nguyên tố từ m đến n mới nhất 2025 - 2026
DANH SÁCH TÓM TẮT:
Giới Thiệu
Bài toán đếm số lượng số nguyên tố trong một khoảng [m, n] là một bài toán phổ biến trong lập trình. Số nguyên tố là số tự nhiên lớn hơn 1, chỉ chia hết cho 1 và chính nó. Bài viết này sẽ hướng dẫn cách giải quyết bài toán này bằng Python một cách hiệu quả.
Một số x là số nguyên tố nếu:
Dưới đây là chương trình Python để đếm số lượng số nguyên tố trong đoạn [m, n].
import math
# Hàm kiểm tra số nguyên tố
def la_so_nguyen_to(x):
if x < 2:
return False
for i in range(2, int(math.sqrt(x)) + 1):
if x % i == 0:
return False
return True
# Hàm đếm số nguyên tố trong đoạn [m, n]
def dem_so_nguyen_to(m, n):
count = 0
for i in range(m, n + 1):
if la_so_nguyen_to(i):
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ố nguyên tố từ {m} đến {n} là: {dem_so_nguyen_to(m, n)}")
Giải Thích Chương Trình
Cách Tối Ưu Bằng Sàng Eratosthenes
Một cách tối ưu hơn là sử dụng thuật toán Sàng Eratosthenes để tìm tất cả số nguyên tố trong khoảng [m, n] nhanh hơn.
# Hàm sử dụng Sàng Eratosthenes để tìm số nguyên tố
def sang_eratosthenes(n):
is_prime = [True] * (n + 1)
is_prime[0], is_prime[1] = False, False
for i in range(2, int(math.sqrt(n)) + 1):
if is_prime[i]:
for j in range(i * i, n + 1, i):
is_prime[j] = False
return is_prime
# Hàm đếm số nguyên tố từ m đến n
def dem_so_nguyen_to_sang(m, n):
primes = sang_eratosthenes(n)
return sum(1 for i in range(m, n + 1) if primes[i])
# 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ố nguyên tố từ {m} đến {n} là: {dem_so_nguyen_to_sang(m, n)}")
Giải Thích Cách Tối Ưu
Ứng Dụng
Kết Luận
Bài toán đếm số nguyên tố từ m đến n có thể giải quyết bằng nhiều cách. Cách kiểm tra từng số dễ hiểu nhưng chậm, trong khi Sàng Eratosthenes 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
HỌC DỄ HIỂU, ỨNG DỤNG THỰC TẾ, HỌC PHÍ CHỈ 300K/THÁNG! Chào mừng bạn đến…
Mở đầu – “Đừng để bàn phím laptop khiến bạn phát bực!” Bàn phím laptop…
Mở đầu Ổ cứng lỗi khởi động khiến máy không vào Windows là lỗi khá…
Bạn đang làm việc hoặc học tập online thì WiFi bỗng dưng biến mất, laptop…
Một ngày đẹp trời, bạn bấm nút nguồn mà chiếc máy tính Dell hay HP…
⚠️ Nỗi Đau Người Dùng: Laptop Acer Hư Giữa Chừng – Cảm Giác Bất Lực!…
This website uses cookies.