Python 3.5+mathпонятие
math.gcd
комбинаторика
Возвращает наибольший общий делитель двух или более целых чисел. math.gcd(48, 36) → 12. Python 3.9+: несколько аргументов.
Синтаксис
math.gcd(*integers)
Результат всегда неотрицательный, знаки аргументов роли не играют, НОД нуля и x равен модулю x, а вызов вообще без аргументов даёт 0. Именно поэтому ноль удобен как стартовое значение при свёртке списка через functools.reduce — спецслучаев не нужно. До Python 3.9 функция принимала ровно два аргумента, так что многоаргументный вызов на старом интерпретаторе упадёт.
Примеры
# Python 3.9+
import math
print(math.gcd(12, 8)) # → 4
print(math.gcd(100, 75)) # → 25
print(math.gcd(0, 5)) # → 5
print(math.gcd(7, 13)) # → 1 (взаимно просты)
print(math.gcd(12, 18, 24)) # → 6 (Python 3.9+)
print(math.gcd(48, 64)) # → 16
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности