a, b = map(int, input("Введите два числа: \n").split())
a1,b1 = a,b
o = 0
while a1 != b1:
if a1 > b1:
a1 = a1 - b1
else:
b1 = b1 - a1
o += 1
a2,b2 = a,b
m = 0
while a2 != 0 and b2 != 0:
if a2 > b2:
a2 = a2 % b2
b2 = b2 % a2
m += 1
print(f"НОД ({a},{b}) = {a1}")
print(f"Обычный: {o}")
print(f"Модифицированный: {m}")
Объяснение:
Вводим 2 числа (в строку через пробел)
Вычисляем НОД с обычного алгоритма Евклида и считаем количество шагов цикла
Вычисляем НОД с модифицированного алгоритма Евклида и считаем количество шагов цикла
Выводим результат
a, b = map(int, input("Введите два числа: \n").split())
a1,b1 = a,b
o = 0
while a1 != b1:
if a1 > b1:
a1 = a1 - b1
else:
b1 = b1 - a1
o += 1
a2,b2 = a,b
m = 0
while a2 != 0 and b2 != 0:
if a2 > b2:
a2 = a2 % b2
else:
b2 = b2 % a2
m += 1
print(f"НОД ({a},{b}) = {a1}")
print(f"Обычный: {o}")
print(f"Модифицированный: {m}")
Объяснение:
Вводим 2 числа (в строку через пробел)
Вычисляем НОД с обычного алгоритма Евклида и считаем количество шагов цикла
Вычисляем НОД с модифицированного алгоритма Евклида и считаем количество шагов цикла
Выводим результат