Eksempel for å sjekke om et heltall er et primtall eller ikke bruker for loop og if … else-setning. Hvis tallet ikke er primtall, forklares det i utgangen hvorfor det ikke er et primtall.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Python-programmeringsemner:
- Python hvis … annet uttalelse
- Python for Loop
- Python bryter og fortsetter
Et positivt heltall større enn 1 som ikke har andre faktorer enn 1, og selve tallet kalles et primtall. 2, 3, 5, 7 etc. er primtall da de ikke har noen andre faktorer. Men 6 er ikke prime (det er sammensatt) siden 2 x 3 = 6
,.
Kildekode
# 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")
Produksjon
407 er ikke et primtall 11 ganger 37 er 407
I dette programmet blir variabel num sjekket om den er primær eller ikke. Tall mindre enn eller lik 1 er ikke primtall. Derfor fortsetter vi bare hvis tallet er større enn 1.
Vi sjekker om num er nøyaktig delelig med et tall fra 2 til num - 1. Hvis vi finner en faktor i det området, er tallet ikke prime. Ellers er tallet primtall.
Vi kan redusere rekkevidden av tall der vi ser etter faktorer.
I programmet ovenfor er søkeområdet vårt fra 2 til num - 1
.
Vi kunne ha brukt serien, range(2,num//2)
eller range(2,math.floor(math.sqrt(num)))
. Sistnevnte område er basert på det faktum at et sammensatt tall må ha en faktor mindre enn kvadratroten til dette tallet. Ellers er tallet primtall.
Du kan endre verdien på variabelen num i kildekoden ovenfor for å sjekke om et tall er primtall eller ikke for andre heltall.