Python - prvočísla: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řá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 | 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, 11: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