Bilangan bulat positif lebih besar dari 1 yang tidak memiliki faktor lain kecuali 1 dan bilangan itu sendiri disebut bilangan prima. 2, 3, 5, 7 dll adalah bilangan prima karena mereka tidak memiliki faktor lain. Tapi 6 tidak prima (itu komposit) karena, 2 x 3 = 6.

Kode sumber

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

Keluaran

407 is not a prime number
11 times 37 is 407

Dalam program ini, num variabel diperiksa apakah itu prima atau tidak. Angka kurang dari atau sama dengan 1 bukan bilangan prima. Karenanya, kami hanya melanjutkan jika num lebih besar dari 1.

Kami memeriksa apakah num persis dapat dibagi dengan angka dari 2 hingga num – 1. Jika kita menemukan faktor dalam rentang itu, jumlahnya tidak prima. Kalau tidak, angkanya prima.

Kita dapat mengurangi rentang angka tempat kita mencari faktor.

Dalam program di atas, rentang pencarian kami adalah dari 2 hingga num - 1.

Kami bisa menggunakan rentang, range(2,num//2) atau range(2,math.floor(math.sqrt(num))). Kisaran yang terakhir didasarkan pada fakta bahwa bilangan komposit harus memiliki faktor kurang dari akar kuadrat dari angka itu. Kalau tidak, angkanya prima.

Anda dapat mengubah nilai variabel num dalam kode sumber di atas untuk memeriksa apakah bilangan prima atau tidak untuk bilangan bulat lainnya.