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

291
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()