Python Programlama Dilinde İki Sayının Ekokunu Bulma Algoritması

Python programlama dilinde kullanıcıdan alınan iki sayının ekokunu bulan bir algoritma yazdım. Bu algoritmayı yazarken öncelikle girilen iki sayının ekokunu bulan fonksiyon tanımladım. Daha sonra while döngüsü oluşturarak sürekli olarak kontrollü bir şekilde kullanıcıdan ekokunu bulmak için yeni sayılar istedim.

Kodları hemen aşağıda inceleyebilirsiniz. Eğer isterseniz iki-sayının-ekokunu-bulma.py dosyasını indirerek kendi bilgisayarınızda bu algoritmayı çalıştırabilir veya kodlar üzerinde oynama yapabilirsiniz.

#Hamit Can Dinç - İki sayının ekokunu bulma algoritması

def ekok(a,b):
    i = 2 #ekok bulurken önce 2'ye bölerek başlarız
    ekok = 1 #ekok bulurken çarpma işlemi ile ilerleyeceğimiz için 1 sayısı ile başladım
    while True:
        if (a % i == 0 and b % i == 0): #a ve b i'ye tam bölünürse
            ekok *= i

            a //= i #i'ye bölümündeki tam kısım
            b //= i #i'ye bölümündeki tam kısım

        elif (a % i == 0 and b % i != 0):
            ekok *= i

            a //= i

        elif (a % i != 0 and b % i == 0):
            ekok *= i

            b //= i

        else:
            i += 1

        if (a == 1 and b == 1):
            break
    return ekok

while True:
    a = input('Ekok için gerekli 1.sayıyı giriniz, çıkmak için q\'ya basınız:\n')
    if (a == "q"):
        print("Program sonlandırılıyor...")
        break

    b = input('Ekok için gerekli 2.sayıyı giriniz, çıkmak için q\'ya basınız:\n')
    if (b == "q"):
        print("Program sonlandırılıyor...")
        break

    a = int(a)
    b = int(b)

    print("{} ve {} sayılarının ekokları {} sayısıdır.".format(a,b,ekok(a,b)))

iki-sayının-ekokunu-bulma.py dosyasını indirmek için buraya tıklayınız.