问题标签 [binomial-coefficients]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java中的二项式检验
我正在寻找一个高效的 Java 库(甚至是一个函数)来执行臭名昭著的精确二项式检验。类似于此处描述的 R 函数“binom.test” 。
你能帮助我吗?非常感谢!:-)
lisp - LISP 二项式系数,阶乘
我是 lisp 的新手,我尝试在 lisp 中编写一个程序,计算二项式系数迭代(阶乘)但不是递归的。我试过everthing,全局函数,局部函数(阶乘)),但我的程序不起作用,例如当我命令:(binom(7 4))时,出现错误
我还有一个问题,如何在 emacs 中编译?
(我尝试在缓冲区 -> scatch ->(加载“binom-coeff.el”但只有一条错误消息......)
非常感谢, :)
algorithm - 简化这种指数算法的 Big-O 复杂性
我有一个计数算法,我正在尝试获得一个一般的 big-o 描述。它是可怕的嵌套和可怕的指数。这里是:
这是每个运行时间的逐行想法
- 这是一个简单的分区,我将只给它一个常量 c1。
- max_k 是一个很小的数字,总是小于 n,可能在 4 或 5 左右。我将在下面使用 k。
- 此循环始终运行 2^k*(n 选择 k) 次
- 通过考虑第 1 行的常数,我们可以概括这条线,并且知道在最坏的情况下它总共不会触发超过 2^n 次,但通常会运行 2^n 次的一小部分,所以我们称之为 (2^n n)/c2
- 这是所有这些循环中的简单 if 语句操作,所以 c3.
将所有这些相乘得到:
由于我想要一个大 O 表示,忽略常量给出:
已知 (n choose k) 以 (n * e / k)^k 为界,所以:
我的问题是,我可以在这里忽略什么... 2^n 肯定是主要术语,因为 n 总是大于 k,而且通常更大。这可以简化为 O(2^n) 吗?还是 O(2^terrible)?还是我应该留在 2^k 中,如 O(2^k * 2^n)?(或保留所有条款?)
我的理解是,如果 k 或 max_k 可以竞争或超过 n,那么它们至关重要。但是由于它们总是被支配,它们可以像多项式运行时间的低阶项一样被丢弃吗?我想所有指数运行时间的混乱都让我感到困惑。任何意见是极大的赞赏。
algorithm - 大 n 和 k 的二项式系数 (nCk) 与素数 (P) 的可分性
在数学中,二项式系数是一系列正整数,在二项式定理中作为系数出现。nCk 表示从 n 个不同对象中选择 k 个对象的方法的数量。
但是当n和k太大的时候,我们经常在对一个素数P进行模运算后保存。请计算n有多少个二项式系数在对P进行模运算后变为0。
输入
第一个输入是一个整数 T,即测试用例的数量。
以下 T 行中的每一行都包含 2 个整数,n 和素数 P。
输出
对于每个测试用例,输出一行包含 nCk (0<=k<=n) 的数量,每个 nCk 经 P 模运算后为 0。
样本输入
样本输出
由于约束非常大,动态规划将不起作用。我想要的只是一个想法。
c - 哪种计算 nCr 的方法更好
方法 1:
C(n,r) = n!/(nr)!r!
方法 2:
在wilf 的《组合算法》一书中,我发现:
C(n,r) 可以写为C(n-1,r) + C(n-1,r-1)
.
例如
如您所见,最终的解决方案不需要任何乘法。在每种形式 C(n,r) 中,n==r 或 r==1。
这是我实现的示例代码:
请参阅此处的输出。
在方法 2 中,存在重叠的子问题,我们调用递归来再次解决相同的子问题。我们可以通过使用动态规划来避免它。
我想知道计算 C(n,r) 的更好方法是什么?
python - 寻找二项式系数模素数,面试街头挑战
我在这方面做了很多工作,但找不到更大的测试用例的答案
问题陈述
在数学中,二项式系数是一系列正整数,在二项式定理中作为系数出现。C(n,k) 表示从 n 个不同对象中选择 k 个对象的方法的数量。
但是当n和k太大的时候,我们经常在对一个素数P进行模运算后保存。请计算n有多少个二项式系数在对P进行模运算后变为0。
输入
第一个输入是一个整数 T ,即测试用例的数量。
以下 T 行中的每一行都包含 2 个整数,n 和素数 P。
输出
对于每个测试用例,输出一行包含 \tbinom nks (0<=k<=n) 的数量,每个在 P 的模运算后为 0。
样本输入
样本输出
约束:
- T 小于 100
- n 小于 10^500。
- P 小于 10^9。
尝试的解决方案
我通过在二项式系数中使用余数定理完成了这个
小数满足上述条件
样本测试用例
n=18794630773460178101742670493883191390743597826923079533199667903991430393463990462500322752062869664969026409174076912867222446746310051635510258172105034070506806228555577773599018819952185016092141574603857551738968553782672643049704163674318579695215402562964641111900657274032612661770435202254364177910753450214277150377049334509093906874400306682949871260040370515062243982543271073443613028133844603853807066311479739789908983610180228625059956919930500586048799830730348503994503184106117058
p= 177080341
我的输出是
2296508200406431043037217853758906667313789305876262916681342008001095232916608835588093082038358975456171743147798282523487485386336553910277635713985851142371010771392102277877640275384064735398164190968282400640398659343189330639672472613876688344609533340662724884373078840434716174167873375700938597411315754265893890741730938202927739246687866166994143001482839656000969674716959277820008958538229366474207686428750934149471409162993083541475267772950721250234982686128039722553219836725588488
预期输出是
18794630773460178101742635959946548665553041135822283621364103266511586625905046107130878283695016799933475657268010472422112556606280021574002866456544310584537519228161286450725015989697306855581489155139723025246780552510467580791551824827637581156204185887378181074365453150481221030356075255000460025095384537510111086396988416046942446776262625161326885418101128327416784858513888616089287333560469336094431461981368825028447505354473183546488856594449627370807707483671453574074503184106117059
r - 计算累积二项式概率时 R 中的奇怪精度问题
使用此代码时,我遇到了一些奇怪的问题:
i
此 for 循环的每次迭代都应计算在给定频率的情况下事件发生次数的二项式概率。每次迭代也会总结结果。这应该会导致prob
变量永远不会超过 1,但是在 7 次左右的循环迭代之后,一切都变得糟糕并prob
超过 1。
我认为这可能是数字精度的问题,所以我尝试使用Rmpfr但无济于事——同样的问题仍然存在。
我想知道是否有任何技巧或包来克服这种情况,或者我是否坚持这一点。
algorithm - 二项式系数模 142857
如何计算大n
和的二项式系数模 142857 r
。142857有什么特别之处吗?如果问题是质数的模数p
,p
那么我们可以使用卢卡斯定理,但对于 142857 应该怎么做。
c - 二项式定理 - C 中的算法
我试图在我的程序中找到一个解决方案(修复错误),它必须从定义中计算二项式定理。首先,我创建了“阶乘”-“silnia”的定义。
1) 算法确定定义的SN1(n,k)的值。(牛顿函数)
2) 算法通过公式递归确定SN3(n,k)的值。(newton_rek函数)。
输入: 文件名:In0101.txt
OUTPUT: 文件名:Out0101.txt 在这个文件中我想保存从公式计算出来的值。
示例: In0101.txt
Out0101.txt
还有一个我无法修复的错误。有人可以帮我吗?
我的代码:
c++ - 二项式系数
我有一个计算二项式系数的代码,但是当数字大于 20 时,它开始计算错误,问题出在哪里?谢谢
例如 12 和 5 = 792 这是正确的,但 20 和 4 = -2 这是不正确的