Напишите программу, которая для двух положительных целых чисел находит НОД

Нужна помощь.Я немного запутался в задание и коде.

first = int(input("Enter the first integer: "))
second = int(input("Enter the second integer: "))

if first > second:
    gcd = second
else:
    gcd = first
    
while first % gcd == 0 or second % gcd == 0:
    if gcd % first == 0 and gcd % second == 0:
        print(gcd)
        print(first)
        print(second)
        break
    gcd -= 1

Пусть два начальных числа first и second. Выберем меньшее из них и присвоим значение переменной gcd. Пока first или second не делятся на gcd без остатка, следует выполнять цикл, в котором уменьшаем переменную gcd на единицу. Когда цикл закончится в переменной gcd ​​будет НСД для чисел first и second Напишите программу, которая для двух положительных целых чисел находит НДС.

Примечание: Для условия цикла в пункте 3 необходимо помнить, что цикл while выполняется при True, а наш цикл должен закончиться, только если gcd разделил оба числа без остатка.

Можно также обьяснение что не так делал


Ответы (3 шт):

Автор решения: Владимир Клыков
first = int(input("Enter the first integer: "))
second = int(input("Enter the second integer: "))

if first > second:
    gcd = second
else:
    gcd = first
#/* не хватает проверки на ноль, если gcd = 0 - будет ошибка */
while first % gcd != 0 and second % gcd != 0:
    gcd -= 1
print(gcd)
print(first)
print(second)
→ Ссылка
Автор решения: Alduin
first = int(input('a = '))
second = int(input('b = '))

def nsd(first, second): 
    while first*second != 0:
        if first >= second:
            first = first % second
        else:
            second = second % first
    return first + second            

gcd = nsd(first, second)
print(gcd)
→ Ссылка
Автор решения: Eulampios
num1, num2 = map(int, input('Введите два числа через пробел: ').split())
cnst1 = num1
cnst2 = num2

while num1 != 0 and num2 != 0:
    if num1 > num2:
        num1 %= num2
    else:
        num2 %= num1

print(f'НОД({cnst1}, {cnst2}) = {num1 + num2}')
→ Ссылка