Python - prvočísla: Porovnání verzí

Z GeoWikiCZ
Skočit na navigaci Skočit na vyhledávání
 
Řádek 1: Řádek 1:
 
'''Eratosthenovo síto.'''  
 
'''Eratosthenovo síto.'''  
  
Vytvoříme seznam přirozených čísel menších než ''N''. První prvočíslo je 2, označíme tedy v našem sezmanu všechny násobky čísla 2 (která z definoce nemohou být prvočísly). Přejdeme na další neoznačené číslo v seznamu, tj. na číslo 3 a celý proces opakujeme, dokud není zpracován celý seznam.
+
Vytvoříme seznam přirozených čísel menších než ''N''. První prvočíslo je 2, označíme tedy v našem sezmanu všechny násobky čísla 2 (která z definice nemohou být prvočísly). Přejdeme na další neoznačené číslo v seznamu, tj. na číslo 3 a celý proces opakujeme, dokud není zpracován celý seznam.
  
 
  #!/usr/bin/python
 
  #!/usr/bin/python

Verze z 3. 12. 2005, 12:04

Eratosthenovo síto.

Vytvoříme seznam přirozených čísel menších než N. První prvočíslo je 2, označíme tedy v našem sezmanu všechny násobky čísla 2 (která z definice nemohou být prvočísly). Přejdeme na další neoznačené číslo v seznamu, tj. na číslo 3 a celý proces opakujeme, dokud není zpracován celý seznam.

#!/usr/bin/python

N = 100
integers = [1]*N

for i in range(2, N):
   if integers[i]:
      k = 2
      n = i*k
      while n < N:
         integers[n] = 0
         k = k + 1
         n = i*k

for i in range(2, N):
   if integers[i]:
      print i,

print