100 баллов! Ввести с клавиатуры два натуральных числа и сравнить количество шагов цикла для вычисления их НОД с помощью обычного и модифицированного алгоритмов Евклида.
Python
tigran9999abrahamyan:
всмысле?
с какого?
https://znanija.com/task/28934536
может похоже, но я клянусь, что я сам сделал.
Чел, ты посмотри на условие задачи, где там ответ на вопрос про обычный и модифицированный алгоритм Евклида?
я честно, клянусь, я так сам сделал
я не знаю почему похоже
заранее извиняюсь.
Без разницы, в любом случае, мне нужен такой протокол:
Введите два числа:
1998 2
НОД(1998,2)=2
Обычный алгоритм: 998
Модифицированный: 1
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 числа (в строку через пробел)
Вычисляем НОД с помощью обычного алгоритма Евклида и считаем количество шагов цикла
Вычисляем НОД с помощью модифицированного алгоритма Евклида и считаем количество шагов цикла
Выводим результат
Вас заинтересует
2 года назад
2 года назад
2 года назад
2 года назад
8 лет назад
8 лет назад
9 лет назад
9 лет назад