Program Python za preverjanje praštevila

Primer za preverjanje, ali je celo število prosto število ali ga ne uporablja zanka for in if … else. Če število ni praštevilo, je v izhodnem dokumentu razloženo, zakaj ni praštevilo.

Če želite razumeti ta primer, morate poznati naslednje programske teme Python:

  • Izjava Python, če … drugače
  • Python za zanko
  • Python se zlomi in nadaljuje

Celo pozitivno število, večje od 1, ki nima drugih faktorjev, razen 1 in samo število se imenuje glavno število. 2, 3, 5, 7 itd. So praštevila, saj nimajo drugih dejavnikov. Toda 6 ni primeren (je sestavljen), ker 2 x 3 = 6.

Izvorna koda

 # 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") 

Izhod

 407 ni praštevilo 11 krat 37 je 407 

V tem programu je spremenljivka num preverjena, ali je glavna ali ne. Števila, manjša ali enaka 1, niso praštevila. Zato nadaljujemo le, če je število večje od 1.

Preverimo, ali je num natančno deljivo s katerim koli številom od 2 do num - 1. Če v tem obsegu najdemo faktor, število ni prosto. V nasprotnem primeru je številka glavna.

Območje številk lahko zmanjšamo tam, kjer iščemo dejavnike.

V zgornjem programu je naš obseg iskanja od 2 do num - 1.

Lahko bi uporabili domet, range(2,num//2)oz range(2,math.floor(math.sqrt(num))). Slednje območje temelji na dejstvu, da mora imeti sestavljeno število faktor manjši od kvadratnega korena tega števila. V nasprotnem primeru je številka osnovna.

V zgornji izvorni kodi lahko spremenite vrednost spremenljivke num, da preverite, ali je število prosto ali ne za druga cela števila.

Zanimive Članki...