Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import sqrt # pracujeme s odmocninami
- # funkce zjistujici, zda je cislo prvocislem
- def jePrv(p):
- flag=True # na zacatku je kazde cislo prvocislo
- if p in [0,1]: # pro krajni pripady
- flag = False # 0 a 1 nejsou prvocisla
- if p not in [0,1,2]: # vyloucime krajni pripady (pro dva zustane flag True bez testovani, coz je spravne)
- for x in range(int(sqrt(p)+1))[2:]: # testovat staci pouze do druhe odmocniny (dukaz napr. na http://bit.ly/QjTxJX)
- if int(p%x) == 0: # pokud je zbytek po deleni 0, cislo je prvocislem
- flag=False # zjisteno, ze cislo neni prvocislo
- break; # v tomto pripade neni nutno pokracovat
- return flag # pokud jsme nenalezli delitelnost, je flag stale True, jinak False
- n=input("Kolik prvocisel chcete vypsat: ") # zjisteni vstupu od uzivatele
- prv = [] # prazdny seznam pro prvocisla
- poc = 0 # 2 je prvni prvocislo, 0 a 1 jsou specialni pripady
- while len(prv) != n: # iterujeme, dokud nedostaneme pozadovany pocet prvocisel
- if jePrv(poc):
- prv.append(poc) # pokud je prvocislem, pridame jej do seznamu
- poc += 1 # pokracujeme na dalsi cislo
- print prv # vytiskneme seznam n prvocisel
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement