C/C++

Вопрос по программированию

i = int(input())
l = int(input())
mx = 0
if i > l:
----for p in range(1,l + 1):
--------if p % l == 0 and p % i == 0:
-----------if p > mx:
---------------mx = p
--------elif p == l:
---------------print(mx)
------- else:
---------------continue
else:
----for p in range(1,i + 1):
--------if p % i == 0 and p % l == 0:
--------------if p > mx:
--------------------mx = p

-------elif p == i:
------------print(mx)
-------else:
------------continue
в чем ошибка?Нужно найти нод .Знаю замудрил,не пошел по стандарт способу
VB
Viktor Baron
25
Почему вопрос по Python в разделе С/C++?

Типовой способ поиска НОД в Python:
 import math
a, b = int(input()), int(input())
print(math.gcd(a, b))
Поиск НОД алгоритмом Евклида:
 def gcd(a, b): return gcd(b, a % b) if b else a
a, b = int(input()), int(input())
print(gcd(a, b))
Ты в своём коде делимое и делитель перепутал. И делаешь кучу абсолютно лишних проверок. Всё намного поще:
 a, b, gcd = int(input()), int(input()), 0
for i in range(1, min(a, b) + 1):
if a % i == 0 and b % i == 0: gcd = i
print(gcd)
Юрий Дуденков
Юрий Дуденков
94 509
Лучший ответ
Этот код сейчас ищет наибольший общий делитель (НОД) двух чисел `i` и `l` неверным образом. Вместо проверки всех чисел от 1 до `i` или `l` и выбора наибольшего, которое делится на оба, вы можете использовать алгоритм Евклида, который является более эффективным.

Давайте перепишем код, используя этот алгоритм:
 def gcd(a, b): 
while b != 0:
a, b = b, a % b
return a

i = int(input())
l = int(input())

print(gcd(i, l))
Функция `gcd(a, b)` вычисляет наибольший общий делитель двух чисел, используя алгоритм Евклида. Затем мы считываем два числа и выводим их НОД. Это гораздо более простой и эффективный подход, чем тот, который вы использовали ранее.
Чем-то Пайтон напоминает, это не он?
M.e.l. M.e.l.
M.e.l. M.e.l.
861
Гога Иванов если чел не может даже блоком кода воспользоваться, не стоит от него ожидать выбора правильной категории ))
Viktor Baron Честно,лень было выбирать категорию,пытался быстрее найти ответ.