Possible Duplicates:
Statistics: combinations in Python
counting combinations and permutations efficiently
Project euler problem in python (problem 53)

我想看看python中内置的数学库是否是nCr(n Choose r)函数:

在此处输入图像描述

我知道这是可以编程的,但我想我应该先判断一下它是否已经内置了.

推荐答案

以下程序以高效的方式计算nCr(与计算阶乘等相比)

import operator as op
from functools import reduce

def ncr(n, r):
    r = min(r, n-r)
    numer = reduce(op.mul, range(n, n-r, -1), 1)
    denom = reduce(op.mul, range(1, r+1), 1)
    return numer // denom  # or / in Python 2

从Python 3.8开始,标准库中的二项式系数为math.comb:

>>> from math import comb
>>> comb(10,3)
120

Python相关问答推荐

如何根据日期和时间将状态更新为已过期或活动?

Pydantic 2.7.0模型接受字符串日期时间或无

使用mySQL的SQlalchemy过滤重叠时间段

如何计算两极打印机中 * 所有列 * 的出现次数?

将特定列信息移动到当前行下的新行

比较2 PD.数组的令人惊讶的结果

两个pandas的平均值按元素的结果串接元素.为什么?

ODE集成中如何终止solve_ivp的无限运行

如何使用表达式将字符串解压缩到Polars DataFrame中的多个列中?

SQLAlchemy Like ALL ORM analog

转换为浮点,pandas字符串列,混合千和十进制分隔符

如何并行化/加速并行numba代码?

为什么Django管理页面和我的页面的其他CSS文件和图片都找不到?'

在Python中使用yaml渲染(多行字符串)

Python—压缩叶 map html作为邮箱附件并通过sendgrid发送

如何在Python 3.9.6和MacOS Sonoma 14.3.1下安装Pyregion

如何在Airflow执行日期中保留日期并将时间转换为00:00

read_csv分隔符正在创建无关的空列

在matplotlib中重叠极 map 以创建径向龙卷风图

为什么我的scipy.optimize.minimize(method=";newton-cg";)函数停留在局部最大值上?