Python programma, lai pārbaudītu Prime numuru

Piemērs, lai pārbaudītu, vai vesels skaitlis ir primārais skaitlis, vai to neizmanto ciklam, un, ja… cits paziņojums. Ja skaitlis nav galvenais, izvadā tiek paskaidrots, kāpēc tas nav galvenais skaitlis.

Lai saprastu šo piemēru, jums jābūt zināšanām par šādām Python programmēšanas tēmām:

  • Python ja … cits paziņojums
  • Python for Loop
  • Python pārtraukums un turpinājums

Pozitīvs vesels skaitlis, kas ir lielāks par 1 un kuram nav citu faktoru, izņemot 1, un pašu skaitli sauc par galveno skaitli. 2, 3, 5, 7 utt. Ir primāri skaitļi, jo tiem nav citu faktoru. Bet 6 nav galvenais (tas ir salikts), jo 2 x 3 = 6.

Avota kods

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

Rezultāts

 407 nav galvenais skaitlis 11 reizes, 37 ir 407 

Šajā programmā mainīgais num tiek pārbaudīts, ja tas ir galvenais vai nē. Skaitļi, kas ir mazāki vai vienādi ar 1, nav galvenie skaitļi. Tādējādi mēs turpinām tikai tad, ja skaitlis ir lielāks par 1.

Mēs pārbaudām, vai skaitlis precīzi dalās ar jebkuru skaitli no 2 līdz skaitlim 1. Ja šajā diapazonā atrodam faktoru, skaitlis nav galvenais. Cits skaitlis ir galvenais.

Mēs varam samazināt skaitļu diapazonu, kur mēs meklējam faktorus.

Iepriekš minētajā programmā mūsu meklēšanas diapazons ir no 2 līdz num - 1.

Mēs būtu varējuši izmantot diapazonu range(2,num//2)vai range(2,math.floor(math.sqrt(num))). Pēdējā diapazona pamatā ir fakts, ka saliktā skaitļa koeficientam jābūt mazākam par šī skaitļa kvadrātsakni. Pretējā gadījumā skaitlis ir galvenais.

Varat mainīt mainīgā num vērtību iepriekš minētajā avota kodā, lai pārbaudītu, vai skaitlis ir vesels skaitlis.

Interesanti raksti...