Liệt kê các số nguyên tố nhỏ hơn hoặc bằng n với Python

55
Lập trình Python

Bài toán. Nhập số n, liệt kê các số nguyên tố nhỏ hơn hoặc bằng n. Ví dụ: 

NGUYENTO.INP

NGUYENTO.OUT

17

2 3 5 7 11 13 17

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")
m = fin.readline()
n = int(m)
for i in range(1, n+1):
    if nguyenTo(i):
        fout.write(str(i)+" ")
fin.close
fout.close