Verilen bir sayıya gelene kadar tüm asal sayıları hesaplayan bir program yazalım.
def SieveOfEratosthenes(n):
prime = [True for i in range(n + 1)]
p = 2
while (p * p <= n):
# prime[p] yani (asal) true ise
if (prime[p] == True):
# for döngüsü ile asal olmayanları bulalım
for i in range(p * 2, n + 1, p):
prime[i] = False
p += 1
prime[0]= False
prime[1]= False
# tüm asal sayıları yazdıralım
for p in range(n + 1):
if prime[p]:
print (p,)
# Test edelim
if __name__=='__main__':
n = 30
print (n, " altında ki asal sayılar:")
SieveOfEratosthenes(n)
Python dersleri için buraya gidebilirsiniz..