Tìm các số nguyên tố nằm trong đoạn [m, n] với Python

29
Lập trình Python

Bài toán. Nhập m, n. Tìm các số nguyên tố nằm trên đoạn [m, n]. Ví dụ: 

NGUYENTO.INP

NGUYENTO.OUT

5 20

7 11 13 17 19

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
fin = open("NGUYENTO.INP","r")
fout = open("NGUYENTO.OUT","w")
a = fin.readline()
b = a.split()
m, n = int(b[0]), int(b[1])
for i in range(m+1, n):
    if nguyenTo(i):
        fout.write(str(i)+" ")
fin.close()
fout.close()