Programul Python pentru verificarea numărului prim

Exemplu pentru a verifica dacă un număr întreg este un număr prim sau nu folosește pentru buclă și dacă … else instrucțiune. Dacă numărul nu este prim, se explică în rezultat de ce nu este un număr prim.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare Python:

  • Python if … else Declarație
  • Python pentru buclă
  • Python sparge și continuă

Un număr întreg pozitiv mai mare decât 1 care nu are alți factori în afară de 1 și numărul în sine se numește număr prim. 2, 3, 5, 7 etc. sunt numere prime, deoarece nu au alți factori. Dar 6 nu este prim (este compozit) deoarece 2 x 3 = 6,.

Cod sursa

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

Ieșire

 407 nu este un număr prim de 11 ori 37 este 407 

În acest program, variabila num este verificată dacă este primă sau nu. Numerele mai mici sau egale cu 1 nu sunt numere prime. Prin urmare, continuăm doar dacă numărul este mai mare de 1.

Verificăm dacă num este exact divizibil cu orice număr de la 2 la num - 1. Dacă găsim un factor în acest interval, numărul nu este prim. Altfel numărul este prim.

Putem micșora gama de numere unde căutăm factori.

În programul de mai sus, gama noastră de căutare este de la 2 la num - 1.

Am fi putut folosi gama range(2,num//2)sau range(2,math.floor(math.sqrt(num))). Ultima gamă se bazează pe faptul că un număr compus trebuie să aibă un factor mai mic decât rădăcina pătrată a acelui număr. În caz contrar, numărul este prim.

Puteți modifica valoarea variabilei num din codul sursă de mai sus pentru a verifica dacă un număr este prim sau nu pentru alte numere întregi.

Articole interesante...