Python Asal Sayı Bulma

Paylaşmak Güzeldir!

Python programlama dili, matematiksel olarak güçlü bir dil. Bu yüzden de her türlü matematik işlemini Python ile yapabiliriz. Örneğin, Python asal sayı bulma konusunda kısa bir kod kümesi, size istediğiniz sonucu verebilir.

Python Asal Sayı Bulma

Asal sayı, 1’den büyük olan ve 1 ile kendisinden başka sayıya kalansız bölünemeyen sayılara verilen addır. Örneğin 11, bir asal sayıdır çünkü yalnızca 1 ve 11’e (yani kendisine) kalansız bir şekilde bölünebilir. 10 ise asal sayı değildir çünkü 1 ve kendisinden başka 2 ve 5 sayılarına da kalansız bölünür. Python’da bir sayının asal sayı olup olmadığını bulmak için aşağıdaki kodları kullanabiliriz:

# Önce kullanıcıdan, asal sayı olup olmadığını kontrol etmek istediği bir sayı girmesini isteyelim.
sayi = int(input("Lütfen asal sayı kontrolü yapmak istediğiniz sayıyı girin: "))

# bayrak adlı bir değişken tanımlayalım ve değer olarak FALSE atayalım. Bu değişkeni, asal sayı kontrolünde kullanacağız.
bayrak = False

# Öncelikle girilen sayının 1 olup olmadığını kontrol edelim. Biliyoruz ki 1, asal bir sayı değil.
if sayi == 1:
    print(sayi, "bir asal sayı değildir.")
elif sayi < 1:
    print("1'den küçük bir sayı asal sayı olamaz.")
elif sayi > 1:
    # for döngüsüyle range kullanalım ve belirtilen sayının, ikiden o sayıya kadar herhangi bir sayıyla kalansız
    # bölünüp bölünmediğini kontrol edelim.
    for i in range(2, sayi):
        if (sayi % i) == 0:
            # eğer ikiden o sayıya kadar herhangi bir sayıyla kalansız bölünme bulunduysa, bayrak değişkenini TRUE olarak güncelleyelim
            bayrak = True
            # döngüyü durduralım
            break

    # Bayrak değişkenimizin boolean değerini kontrol edip, işlemin sonucunu yazdıralım.
    # Değer TRUE ise, belirtilen sayı belirtilen aralıktaki bir sayıya kalansız bölünmüş demektir. Yani belirtilen sayı asal sayı değildir.
    # Değer FALSE ise, belirtilen sayı belirtilen aralıktaki hiçbir sayıya kalansız bölünmemiş demektir. Bu durumda da belirtilen sayı asal sayıdır.
    if bayrak:
        print(sayi, "bir asal sayı değildir.")
    else:
        print(sayi, "bir asal sayıdır.")

Bir diğer örnek daha verelim ve bu örnekte yalnızca kontrol yapmakla kalmayıp, belirtilen sayı asal sayı olmadığında, hangi sayılara kalansız bölündüğü için asal sayı olmadığı detayını da paylaşalım.

# Önce kullanıcıdan, asal sayı olup olmadığını kontrol etmek istediği bir sayı girmesini isteyelim
sayi = int(input("Lütfen asal sayı kontrolü yapmak istediğiniz sayıyı girin: "))

# Eğer belirtilen sayı 1 ise, bu sayının asal sayı olmadığını zaten biliyoruz
if sayi == 1:
    print(num, "bir asal sayı değildir.")
# Eğer belirtilen sayı 1'den büyükse, çarpan kontrolü yapmalıyız
elif sayi > 1:
# for döngüsüyle çarpan kontrolü yapıyoruz
    for i in range(2,sayi):
        if (sayi % i) == 0:
            print(sayi,"bir asal sayı değildir.")
            print(i,"ile",sayi//i,"çarpımı, bize",sayi,"sonucunu verir. Bu da",sayi,"sayısının 1 ve kendisinden başka bir sayıya da kalansız olarak bölündüğünü ve bu yüzden asal sayı olmadığını gösterir.")
            break
else:
    print(sayi,"bir asal sayıdır, yalnızca 1'e ve kendisine bölünebilir.")

Paylaşmak Güzeldir!