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
в чем ошибка?Нужно найти нод .Знаю замудрил,не пошел по стандарт способу
C/C++
Вопрос по программированию
Почему вопрос по Python в разделе С/C++?
Типовой способ поиска НОД в Python:
Типовой способ поиска НОД в 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)
Этот код сейчас ищет наибольший общий делитель (НОД) двух чисел `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)` вычисляет наибольший общий делитель двух чисел, используя алгоритм Евклида. Затем мы считываем два числа и выводим их НОД. Это гораздо более простой и эффективный подход, чем тот, который вы использовали ранее.Чем-то Пайтон напоминает, это не он?
Гога Иванов
если чел не может даже блоком кода воспользоваться, не стоит от него ожидать выбора правильной категории ))
Viktor Baron
Честно,лень было выбирать категорию,пытался быстрее найти ответ.
Похожие вопросы
- День добрый \[-_-]/ вопрос по вузовскому программированию на си(C)
- Программирование на С++
- Программирование на C++
- Как начать изучать программирование?
- Доброго дня! Хочу сменить сферу деятельности . Заинтересовал вариант программирования .
- Программирование на C++
- Книги по программированию.
- Может ли новичок в программирование начать с c++/Gamedev
- Чем отличаются языки программирования ???
- На каком языке программирования (Assembler / С / С++) лучше будет написать компилятор для своего языка программирования?