Asal Sayıyı Kontrol Etmek İçin Python Programı

İçindekiler

Bir tamsayının asal sayı olup olmadığını kontrol etme örneği for döngüsü ve if… else ifadesini kullanmama. Sayı asal değilse, çıktıda neden asal sayı olmadığı açıklanır.

Bu örneği anlamak için, aşağıdaki Python programlama konuları hakkında bilgi sahibi olmalısınız:

  • Python if… else İfadesi
  • Döngü için Python
  • Python kır ve devam et

1'den büyük olan ve 1 dışında başka faktör içermeyen pozitif bir tam sayı ve sayının kendisine asal sayı denir. 2, 3, 5, 7 vb. Başka faktörleri olmadığı için asal sayılardır. Ama 6 asal değildir (bileşiktir), çünkü 2 x 3 = 6.

Kaynak kodu

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

Çıktı

 407 asal sayı değil 11 çarpı 37, 407 

Bu programda num değişkeninin asal olup olmadığı kontrol edilir. 1'den küçük veya ona eşit sayılar asal sayı değildir. Bu nedenle, yalnızca sayı 1'den büyükse devam ederiz.

Num'un 2'den num - 1'e herhangi bir sayı ile tam olarak bölünebilir olup olmadığını kontrol ederiz. Bu aralıkta bir çarpan bulursak, sayı asal değildir. Aksi takdirde sayı asaldır.

Çarpanları aradığımız yerde sayı aralığını azaltabiliriz.

Yukarıdaki programda, arama aralığımız 2 ila num - 1.

Aralığı kullanabilirdik range(2,num//2)veya range(2,math.floor(math.sqrt(num))). İkinci aralık, bileşik bir sayının bu sayının karekökünden daha küçük bir faktöre sahip olması gerektiği gerçeğine dayanır. Aksi takdirde, sayı asaldır.

Bir sayının diğer tamsayılar için asal olup olmadığını kontrol etmek için yukarıdaki kaynak kodda değişken num değerini değiştirebilirsiniz.

Ilginç makaleler...