Python 3.8+mathпонятие
math.comb
комбинаторика
Биномиальный коэффициент C(n, k): число сочетаний из n элементов по k без повторений и без учёта порядка.
Синтаксис
math.comb(n, k)
Считает точно и без промежуточных гигантов — в отличие от формулы через факториалы, где сначала строятся числа в тысячи цифр, а потом сокращаются. Если k больше n, возвращается 0, а не ошибка: перепутанный порядок аргументов не падает, а тихо отдаёт ноль; ValueError вылетит только на отрицательных значениях, TypeError — на нецелых. Часто выручает симметрия: число сочетаний из n по k равно числу сочетаний из n по n минус k.
Примеры
import math
print(math.comb(5, 2)) # → 10
print(math.comb(10, 3)) # → 120
print(math.comb(5, 0)) # → 1
print(math.comb(5, 5)) # → 1
print(math.comb(6, 3)) # → 20
print(math.comb(52, 5)) # → 2598960 (покер)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности