Для нахождения наибольшего общего делителя (НОД) в компьютерной программе можно использовать алгоритм Евклида: younglinux.info
- Большее число разделить на меньшее. younglinux.info
- Если делится без остатка, то меньшее число и есть НОД (следует выйти из цикла). younglinux.info
- Если есть остаток, то большее число заменить на остаток от деления и перейти к пункту 1. younglinux.info
Ещё один вариант — использовать рекурсию: pythonist.ru
- Принять два числа, которые сохранить в отдельные переменные. pythonist.ru
- Передать оба числа в рекурсивную функцию в качестве аргумента. pythonist.ru
- В качестве базового условия рекурсии принять равенство нулю второго числа (второго аргумента функции). pythonist.ru В этом случае результатом работы функции будет первое число (первый аргумент функции). pythonist.ru
- В противном случае снова рекурсивно вызвать эту функцию и в качестве первого аргумента передать ей второй аргумент из предыдущего вызова функции, а в качестве второго — остаток от деления первого аргумента на второй аргумент. pythonist.ru
- Когда функция завершит свою работу, её результатом будет первый аргумент из последнего вызова этой функции. pythonist.ru Он и будет наибольшим общим делителем (НОД). pythonist.ru
- Вывести результат на экран. pythonist.ru
Также в модуле math языка программирования Python есть функция gcd, вычисляющая наибольший общий делитель двух чисел. younglinux.info