Exempel för att kontrollera om ett heltal är ett primtal eller inte använder för loop och om … annars uttalande. Om talet inte är primtal förklaras det i utgången varför det inte är primtal.
För att förstå detta exempel bör du ha kunskap om följande Python-programmeringsämnen:
- Python om … annars uttalande
- Python for Loop
- Python bryter och fortsätter
Ett positivt heltal större än 1 som inte har några andra faktorer än 1 och själva numret kallas ett primtal. 2, 3, 5, 7 etc. är primtal eftersom de inte har några andra faktorer. Men sex är inte prime (det är komposit) eftersom 2 x 3 = 6
.
Källkod
# 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 är inte ett primtal 11 gånger 37 är 407
I det här programmet kontrolleras variabelnumret om det är primt eller inte. Siffror som är mindre än eller lika med 1 är inte primtal. Därför fortsätter vi bara om talet är större än 1.
Vi kontrollerar om num är exakt delbart med ett tal från 2 till num - 1. Om vi hittar en faktor i det intervallet är talet inte primt. Annars är siffran primär.
Vi kan minska antalet intervall där vi letar efter faktorer.
I programmet ovan är vårt sökintervall från 2 till num - 1
.
Vi kunde ha använt sortimentet, range(2,num//2)
eller range(2,math.floor(math.sqrt(num)))
. Det senare intervallet baseras på det faktum att ett sammansatt tal måste ha en faktor mindre än kvadratroten av det numret. Annars är siffran primär.
Du kan ändra värdet på variabeln num i källkoden ovan för att kontrollera om ett tal är primt eller inte för andra heltal.