04/05/2024

04/05/2024
04/05/2024
Chương trình đếm số nguyên tố trong Python
Dưới đây là hai cách viết chương trình đếm số nguyên tố trong Python:
Cách 1: Sử dụng vòng lặp for
Python
def dem_so_nguyen_to(n):
"""
Hàm đếm số nguyên tố trong khoảng từ 2 đến n.
Args:
n: Số nguyên dương lớn hơn 1.
Returns:
Số lượng số nguyên tố trong khoảng từ 2 đến n.
"""
# Khởi tạo biến đếm số nguyên tố
so_nguyen_to = 0
# Duyệt qua các số từ 2 đến n
for i in range(2, n + 1):
# Kiểm tra xem i có phải là số nguyên tố hay không
if is_nguyen_to(i):
so_nguyen_to += 1
# Trả về số lượng số nguyên tố
return so_nguyen_to
def is_nguyen_to(n):
"""
Hàm kiểm tra xem một số có phải là số nguyên tố hay không.
Args:
n: Số nguyên dương lớn hơn 1.
Returns:
True nếu n là số nguyên tố, False nếu không.
"""
# Kiểm tra các trường hợp đặc biệt
if n <= 1:
return False
elif n <= 3:
return True
elif n % 2 == 0 or n % 3 == 0:
return False
# Duyệt qua các số lẻ từ 5 đến √n
i = 5
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6
return True
# Ví dụ sử dụng
n = 100
so_luong_nguyen_to = dem_so_nguyen_to(n)
print(f"Số lượng số nguyên tố từ 2 đến {n} là: {so_luong_nguyen_to}")
Hãy thận trọng khi sử dụng các đoạn mã.
content_copy
Cách 2: Sử dụng hàm filter
Python
def dem_so_nguyen_to(n):
"""
Hàm đếm số nguyên tố trong khoảng từ 2 đến n.
Args:
n: Số nguyên dương lớn hơn 1.
Returns:
Số lượng số nguyên tố trong khoảng từ 2 đến n.
"""
# Sử dụng hàm filter để lọc ra các số nguyên tố
so_nguyen_to = len(list(filter(is_nguyen_to, range(2, n + 1))))
# Trả về số lượng số nguyên tố
return so_nguyen_to
def is_nguyen_to(n):
"""
Hàm kiểm tra xem một số có phải là số nguyên tố hay không.
Args:
n: Số nguyên dương lớn hơn 1.
Returns:
True nếu n là số nguyên tố, False nếu không.
"""
# ... (giống như trong Cách 1)
# Ví dụ sử dụng
n = 100
so_luong_nguyen_to = dem_so_nguyen_to(n)
print(f"Số lượng số nguyên tố từ 2 đến {n} là: {so_luong_nguyen_to}")
Hãy thận trọng khi sử dụng các đoạn mã.
content_copy
Giải thích:
Hàm dem_so_nguyen_to:
Hàm này nhận một số nguyên dương n là đầu vào.
Hàm sử dụng vòng lặp for hoặc hàm filter để duyệt qua các số từ 2 đến n.
Hàm sử dụng hàm is_nguyen_to để kiểm tra xem mỗi số có phải là số nguyên tố hay không.
Hàm đếm số lượng số nguyên tố và trả về kết quả.
Hàm is_nguyen_to:
Hàm này nhận một số nguyên dương n là đầu vào.
Hàm kiểm tra xem n có phải là số nguyên tố hay không bằng cách thực hiện các bước sau:
Kiểm tra các trường hợp đặc biệt (n <= 1, n <= 3).
Duyệt qua các số lẻ từ 5 đến √n để kiểm tra xem n có chia hết cho bất kỳ số nào trong số đó hay không.
Hàm trả về True nếu n là số nguyên tố, `
Nếu bạn muốn hỏi bài tập
Các câu hỏi của bạn luôn được giải đáp dưới 10 phút
CÂU HỎI LIÊN QUAN
01/12/2025
01/12/2025
Top thành viên trả lời