B. Функциональный НОД

Напишите функцию gcd, которая принимает два натуральных числа и возвращает их наибольший общий делитель.

Примечание

Ваше решение должно содержать только функции.
В решении не должно быть вызовов требуемых функций.

Пример

Ввод

result = gcd(12, 45)

Вывод

result = 3

Ввод

result = gcd(144, 96)

Вывод

result = 48

Решение

Элементарная задача, которую мы решали уже много раз. В этот раз нам нужно завернуть алгоритм поиска НОД в функцию.

Посмотреть код

Решение

Python
def gcd(a, b):
    while b != 0:
        a, b = b, a % b
    return a
Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
alex
alex
27.07.2024 17:49

def gcd(a, b):
while a != b:
if a > b:
a -= b
else:
b -= a
return a

numbers = list(map(int, input().split()))

fn = numbers[0]
for sn in numbers[1:]:
fn = gcd(fn, sn)

print(fn)