İki tam ədədin ən böyük ortaq böləninin tapılması alqoritminin bu variantı optimal deyil. Məsələn, a = 1000 000 və b = 2 üçün bu alqoritm 500 000 dəfə yerinə yetiriləcək. Növbəti nümunədə bu alqoritmin a və ya b-nin böyük qiymətləri üçün necə təkmilləşdirilməsi göstərilib.

2 | ƏBOB-un bölmə üsulu ilə tapılması Bu üsul çıxma üsuluna çox bənzəyir. Sadəcə, bu halda hər addımda çıxma əməlinin əvəzinə bölmə əməli tətbiq edilir. Nəticədə ƏBOB-u daha az addımda əldə etmək mümkün olur: 1) Böyük ədədi kiçik ədədə bölmək. 2) Qalıq sıfırdırsa, onda kiçik ədəd axtarılan ƏBOB-dur (dövrdən çıxmaq lazımdır). 3) Qalıq sıfır deyilsə, həmin qalığı böyük ədədə mənimsətmək. 4) Addım 1-ə keçmək. Örnək: 30 və 18 ədədlərinin ƏBOB-nun bölmə üsul ilə tapılması. 30/18=1(qalıq 12) 18/12=1(qalıq 6) 12/6 = 2 (qalıq 0) Beləliklə, sonuncu bölən 6 olduğundan ƏBOB(30, 18) = 6. a = int(input('Birinci ədədi daxil edin: ')) b = int(input('İkinci ədədi daxil edin: ')) while a != 0 and b != 0: if a > b: a = a % b else: b = b % a print ('EBOB =', a + b)

3 | Proqramın funksiya şəklində təqdim olunması def ebob(a, b): while a != 0 and b != 0: if a > b: a = a % b else: b = b % a return a + b a = int(input('Birinci ədədi daxil edin: )) b = int(input('İkinci ədədi daxil edin: ')) print (ebob(a, b))