HCF veya GCD Bulmak için Python Programı

Bu örnekte, iki farklı yöntem kullanarak iki sayının OBEB'sini bulmayı öğreneceksiniz: işlev ve döngüler ve Öklid algoritması

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

  • Python İşlevleri
  • Python Özyinelemesi
  • Python Fonksiyon Bağımsız Değişkenleri

İki sayının en yüksek ortak çarpanı (HCF) veya en büyük ortak böleni (GCD), verilen iki sayıyı mükemmel şekilde bölen en büyük pozitif tamsayıdır. Örneğin, 12 ve 14'ün HCF'si 2'dir.

Kaynak Kodu: Döngüleri Kullanma

 # Python program to find H.C.F of two numbers # define a function def compute_hcf(x, y): # choose the smaller number if x> y: smaller = y else: smaller = x for i in range(1, smaller+1): if((x % i == 0) and (y % i == 0)): hcf = i return hcf num1 = 54 num2 = 24 print("The H.C.F. is", compute_hcf(num1, num2)) 

Çıktı

 HCF, 6 

Burada, num1 ve num2 değişkenlerinde saklanan iki tamsayı işleve geçirilir compute_hcf(). İşlev, HCF'yi bu iki sayıyı hesaplar ve döndürür.

İşlevde, HCF yalnızca en küçük sayıdan küçük veya ona eşit olabileceğinden, önce iki sayıdan küçük olanı belirleriz. Daha sonra for1'den bu sayıya gitmek için bir döngü kullanırız.

Her yinelemede, sayımızın her iki giriş numarasını da mükemmel şekilde bölüp ayırmadığını kontrol ederiz. Öyleyse, sayıyı HCF olarak saklarız. Döngü tamamlandığında, her iki sayıyı da mükemmel şekilde bölen en büyük sayıyı elde ederiz.

Yukarıdaki yöntemin anlaşılması ve uygulanması kolaydır, ancak verimli değildir. HCF'yi bulmak için çok daha verimli bir yöntem Öklid algoritmasıdır.

Öklid algoritması

Bu algoritma, iki sayının HCF'sinin de farklarını böldüğü gerçeğine dayanmaktadır.

Bu algoritmada, büyük olanı küçüğe böler ve kalanı alırız. Şimdi, küçük olanı bu kalanla bölün. Kalan 0 olana kadar tekrarlayın.

Örneğin, 54 ve 24'ün HCF'sini bulmak istersek, 54'ü 24'e böleriz. Kalan 6'dır. Şimdi, 24'ü 6'ya böleriz ve geri kalan 0'dır. Dolayısıyla, 6 gerekli HCF'dir.

Kaynak Kodu: Öklid Algoritmasını Kullanma

 # Function to find HCF the Using Euclidian algorithm def compute_hcf(x, y): while(y): x, y = y, x % y return x hcf = compute_hcf(300, 400) print("The HCF is", hcf)

Burada y sıfır olana kadar döngü yapıyoruz. Bu ifade x, y = y, x % y, Python'da değerlerin değiş tokuşunu yapar. Python'da değişkenleri takas etme hakkında daha fazla bilgi için burayı tıklayın.

Her yinelemede, y'nin değerini x'e ve kalanını (x % y)y'ye aynı anda yerleştiririz. Y sıfır olduğunda, x'de HCF'ye sahibiz.

Ilginç makaleler...