#!/usr/bin/env python3
'''
Eratosthenovo síto
----
Verze: 1, non-verbose
Autor: David Roesel, roesel@gmail.com
Web: http://david.roesel.cz/python
Popis:
        Vypíše prvočísla od 0 do max pomocí metody Eratosthenova síta.
        (Psáno pro Python 3.2, indentace 1x TAB.
         Kód je volně šiřitelný pod licencí Creative Commons Attribution 3.0 Unported)
'''
# Vytvářím pole 2 až MAX
max=100
max+=1
ori=list(range(2,max))
index_co_delim=1
index_kterym_delim=0
# Dokud mám v listu čísla na dělitele, která nejsou prvočísly
while ori[index_kterym_delim]<=(ori[len(ori)-1]**(0.5)):
    # Dokud mám v listu čísla na dělence
    while index_co_delim<len(ori):
        # Pokud je číslo dělitelné bezezbytku...
        if ori[index_co_delim]%ori[index_kterym_delim]==0:
            # ...potom ho vymaž z pole
            del ori[index_co_delim]
        # Pokud není...
        else:
            # ...pak ho tam nech a pokračuj na další.
            index_co_delim+=1
    # Zvětšuji dělitele
    index_kterym_delim+=1
    # Nastavuji dělence nad dělitele, abych nevydělil prvočíslo samo sebou
    index_co_delim=index_kterym_delim+1
print("Prvočísla od ", 0, " do ", max-1, " jsou:\n", ori)

