Primjer za provjeru je li cijeli broj prost broj ili ne koristi for petlju i if … else naredbu. Ako broj nije prost, u izlazu se objašnjava zašto nije prost broj.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja na Pythonu:
- Python if … else Izjava
- Python za Loop
- Python razbiti i nastaviti
Pozitivni cijeli broj veći od 1 koji nema drugih čimbenika osim 1, a sam broj naziva se prostim brojem. 2, 3, 5, 7 itd. Su prosti brojevi jer nemaju drugih čimbenika. No, šest nije glavni (to je kompozitni) jer, 2 x 3 = 6
.
Izvorni kod
# 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")
Izlaz
407 nije prost broj 11 puta 37 je 407
U ovom se programu provjerava varijabla num je li primarna ili nije. Brojevi manji od ili jednaki 1 nisu prosti brojevi. Stoga nastavljamo samo ako je broj veći od 1.
Provjeravamo je li num djeljiv s bilo kojim brojem od 2 do num - 1. Ako pronađemo faktor u tom rasponu, broj nije prost. Inače je broj prost.
Možemo smanjiti raspon brojeva tamo gdje tražimo čimbenike.
U gore navedenom programu naš je opseg pretraživanja od 2 do num - 1
.
Mogli smo koristiti domet range(2,num//2)
ili range(2,math.floor(math.sqrt(num)))
. Potonji raspon temelji se na činjenici da složeni broj mora imati faktor manji od kvadratnog korijena tog broja. Inače, broj je prost.
Možete promijeniti vrijednost varijable num u gore navedenom izvornom kodu da biste provjerili je li broj prost ili nije za ostale cijele brojeve.