Đếm số lượng số nguyên tố trong dãy số với Python

Lập trình Python

Bài toán. Cho dãy số a với số phần tử là n. Hãy đếm xem có bao nhiêu phần tử là số nguyên tố?

Yêu cầu: Đọc từ file NGUYENTO.INP với dòng thứ nhất ghi số lượng phần tử của dãy số, dòng thứ hai ghi các phần tử của dãy số a. Kết quả ghi vào file NGUYENTO.OUT số lượng số nguyên tố có trong dãy số a.

Ví dụ:

NGUYENTO.INP

NGUYENTO.OUT

6
2 4 5 7 8 10

3

Code tham khảo:

import math
def nguyenTo(n):
    if n < 2: return False
    else:
        m = math.sqrt(n)
        i = 2
        while (n % i) and (i < m):
            i = i + 1
        if i > m: return True
        else: return False
f_in = open("NGUYENTO.INP", "r")
f_out = open("NGUYENTO.OUT", "w")
n = int(f_in.readline())
line = f_in.readline()
a = line.split()
dem = 0
for i in range(0, n):
    if nguyenTo(int(a[i])) == True:
        dem = dem + 1
f_out.write(str(dem))
f_in.close()
f_out.close()

Xem thêm ví dụ về việc ko lưu file:

def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        i += 6
    return True

def count_primes_in_range(start, end):
    count = 0
    for num in range(start, end + 1):
        if is_prime(num):
            count += 1
    return count

# Thay đổi khoảng số của bạn tại đây
start = 1
end = 100

prime_count = count_primes_in_range(start, end)
print(f"Số lượng số nguyên tố từ {start} đến {end} là: {prime_count}")

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *