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 |
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}")