Python-program til kontrol af primtal

Eksempel for at kontrollere, om et heltal er et primtal eller ikke bruger til loop, og hvis … ellers udsagn. Hvis tallet ikke er primtal, forklares det i output, hvorfor det ikke er et primtal.

For at forstå dette eksempel skal du have kendskab til følgende Python-programmeringsemner:

  • Python hvis … ellers Erklæring
  • Python for Loop
  • Python bryder og fortsætter

Et positivt heltal større end 1, som ikke har andre faktorer undtagen 1, og selve tallet kaldes et primtal. 2, 3, 5, 7 osv. Er primtal, da de ikke har andre faktorer. Men 6 er ikke prime (det er sammensat), da 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") 

Produktion

 407 er ikke et primtal 11 gange 37 er 407 

I dette program kontrolleres variabel num, om den er primær eller ej. Tal mindre end eller lig med 1 er ikke primtal. Derfor fortsætter vi kun, hvis antallet er større end 1.

Vi kontrollerer, om num er nøjagtigt deleligt med et tal fra 2 til num - 1. Hvis vi finder en faktor i dette interval, er tallet ikke prime. Ellers er tallet primt.

Vi kan mindske rækkevidden af ​​tal, hvor vi ser efter faktorer.

I ovenstående program er vores søgeområde fra 2 til num - 1.

Vi kunne have brugt rækkevidden, range(2,num//2)eller range(2,math.floor(math.sqrt(num))). Sidstnævnte interval er baseret på det faktum, at et sammensat tal skal have en faktor mindre end kvadratroden af ​​dette tal. Ellers er tallet primt.

Du kan ændre værdien af ​​variablen num i ovenstående kildekode for at kontrollere, om et tal er prime eller ikke for andre heltal.

Interessante artikler...