Python program a Prime szám ellenőrzésére

Példa annak ellenőrzésére, hogy egy egész szám prímszám-e, vagy nem a ciklushoz, és ha… más utasítás. Ha a szám nem prím, akkor a kimenetben megmagyarázzák, miért nem prímszám.

A példa megértéséhez ismernie kell a következő Python programozási témákat:

  • Python if… else nyilatkozat
  • Python for Loop
  • Python törés és folytatás

1-nél nagyobb pozitív egész szám, amelynek az 1-n kívül nincs más tényezője, és magát a számot prímszámnak nevezzük. A 2, 3, 5, 7 stb. Prímszámok, mivel nincsenek egyéb tényezőik. De 6 nem prím (ez kompozit), mivel 2 x 3 = 6.

Forráskód

 # Program to check if a number is prime or not num = 407 # To take input from the user #num = int(input("Enter a number: ")) # prime numbers are greater than 1 if num> 1: # check for factors for i in range(2,num): if (num % i) == 0: print(num,"is not a prime number") print(i,"times",num//i,"is",num) break else: print(num,"is a prime number") # if input number is less than # or equal to 1, it is not prime else: print(num,"is not a prime number") 

Kimenet

 A 407 nem prímszám 11-szer, a 37 pedig 407 

Ebben a programban a num változót ellenőrizzük, ha ez elsődleges vagy sem. Az 1-nél kisebb vagy azzal egyenlő számok nem prímszámok. Ezért csak akkor folytatjuk, ha a szám nagyobb, mint 1.

Ellenőrizzük, hogy a num pontosan osztható-e bármely számmal a 2-től a num-1-ig. Ha találunk egy tényezőt ebben a tartományban, a szám nem prím. Egyébként a szám elsődleges.

Csökkenthetjük a számok tartományát, ahol tényezőket keresünk.

A fenti programban keresési tartományunk 2-től num - 1.

Használhattuk volna a tartományt, range(2,num//2)ill range(2,math.floor(math.sqrt(num))). Ez utóbbi tartomány azon a tényen alapul, hogy az összetett számnak kisebb tényezővel kell rendelkeznie, mint a szám négyzetgyöke. Ellenkező esetben a szám elsődleges.

A fenti forráskódban megváltoztathatja a num változó értékét, hogy ellenőrizze, hogy egy szám elsődleges-e más egész számokra.

érdekes cikkek...