组合方程的近似算法

本文介绍了一种针对组合数计算的近似算法,该算法能够有效地估算从总元素中取出特定数量元素的情况。通过两个公式,可以分别求解取出元素的数量和总元素的数量,适用于较大数值的快速估算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在进行组合数的计算时,如果数值比较大,则计算起来很麻烦的,用斯特林公式逼近也需要很多步骤。

特别的,如果在组合数的总元素的取出元素有一个是未知数时,计算就没法用公式了。

所以我在这里公布一个近似算法给大家:


1.对于方程C(n,x)=a,求取出元素x,近似算法是:x=ln(a)*ln(a)/n

举例:求C(10,x)=250,我们知道C(10,5)=252,也就是x=5,套用公式:x=ln(250)*ln(250)/10=3.05

求C(33,x)=1000000,我们知道C(33,6)=1107568,也就是x=6,套用公式:x=ln(1000000)*ln(1000000)/33=5.78

在数值很小时误差大,在数值很大时误差很小;


2.对于方程C(x,n)=a,求总元素x,近似算法是:x=(a*n!)^(1/m)+m/2

举例:求C(x,5)=250,我们知道C(10,5)=252,也就是x=10,套用公式:x=(250*120)^(1/5)+5/2=10.36

求C(x,6)=1000000,我们知道C(33,6)=1107568,也就是x=33,套用公式:x=(1000000*720)^(1/6)+6/2=32.93


3.对于组合数C(m,n)=m!/(n!(m-n)!)

使用斯特林近似公式进行化简后得到公式如下:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值