SHARE
TWEET

Prvocisla

a guest Sep 12th, 2012 214 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from math import sqrt # pracujeme s odmocninami
  2.  
  3. # funkce zjistujici, zda je cislo prvocislem
  4. def jePrv(p):
  5.     flag=True # na zacatku je kazde cislo prvocislo
  6.  
  7.     if p in [0,1]: # pro krajni pripady
  8.         flag = False # 0 a 1 nejsou prvocisla
  9.     if p not in [0,1,2]: # vyloucime krajni pripady (pro dva zustane flag True bez testovani, coz je spravne)
  10.         for x in range(int(sqrt(p)+1))[2:]: # testovat staci pouze do druhe odmocniny (dukaz napr. na http://bit.ly/QjTxJX)
  11.             if int(p%x) == 0: # pokud je zbytek po deleni 0, cislo je prvocislem
  12.                 flag=False # zjisteno, ze cislo neni prvocislo
  13.                 break; # v tomto pripade neni nutno pokracovat
  14.     return flag # pokud jsme nenalezli delitelnost, je flag stale True, jinak False
  15.  
  16. n=input("Kolik prvocisel chcete vypsat: ") # zjisteni vstupu od uzivatele
  17. prv = [] # prazdny seznam pro prvocisla
  18.  
  19. poc = 0 # 2 je prvni prvocislo, 0 a 1 jsou specialni pripady
  20. while len(prv) != n: # iterujeme, dokud nedostaneme pozadovany pocet prvocisel
  21.     if jePrv(poc):
  22.         prv.append(poc) # pokud je prvocislem, pridame jej do seznamu
  23.     poc += 1 # pokracujeme na dalsi cislo
  24.    
  25. print prv # vytiskneme seznam n prvocisel
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top