Предмет: Информатика,
автор: lenpridumivat
100 баллов! Ввести с клавиатуры два натуральных числа и сравнить количество шагов цикла для вычисления их НОД с помощью обычного и модифицированного алгоритмов Евклида.
Python
tigran9999abrahamyan:
всмысле?
1998 2
НОД(1998,2)=2
Обычный алгоритм: 998
Модифицированный: 1
Ответы
Автор ответа:
4
Ответ:
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 числа (в строку через пробел)
Вычисляем НОД с помощью обычного алгоритма Евклида и считаем количество шагов цикла
Вычисляем НОД с помощью модифицированного алгоритма Евклида и считаем количество шагов цикла
Выводим результат
Похожие вопросы
Предмет: Русский язык,
автор: АлёнаКаменная1
Предмет: Қазақ тiлi,
автор: bashutarikhter
Предмет: Русский язык,
автор: подаполмпол
Предмет: Химия,
автор: LemonSweetGirlSun
Предмет: Литература,
автор: Saadiya