问题标签 [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.

0 投票
7 回答
2247 浏览

language-agnostic - 您将如何以最紧凑的方式为大型组合编写此算法?

k可以从项目中检索到的项目组合的数量N由以下公式描述。

一个例子是在彩票抽奖中6 Balls可以从鼓中抽取多少种组合。48 Balls

优化这个公式以最小的 O 时间复杂度运行

这个问题的灵感来自于新的 WolframAlpha 数学引擎以及它可以非常快速地计算出极大组合的事实。例如,以及随后在另一个论坛上对该主题的讨论。

http://www97.wolframalpha.com/input/?i=20000000+Choose+15000000

在有人尝试解决方案后,我将发布该讨论中的一些信息/链接。

任何语言都可以接受。

0 投票
6 回答
11379 浏览

java - 在 Java 中实现选择符号的好方法是什么?

...最好是在 Java 中。这是我所拥有的:

我想知道是否有更好的方法来做到这一点?

0 投票
6 回答
10490 浏览

python - Python中非常大的数字的二项式检验

我需要在 Python 中进行二项式测试,以允许计算 10000 左右的“n”个数字。

我已经使用 scipy.misc.comb 实现了一个快速的 binomial_test 函数,但是,它几乎限制在 n = 1000 左右,我猜是因为它在计算阶乘或组合本身时达到了最大的可表示数字。这是我的功能:

我如何使用本机 python(或 numpy、scipy ...)函数来计算二项式概率?如果可能的话,我需要 scipy 0.7.2 兼容代码。

非常感谢!

0 投票
7 回答
459 浏览

java - 可增长的二项式系数数组的双重检查锁定

我正在尝试使用双重检查锁定来维护一个二项式系数数组,但我最近读到双重检查锁定不起作用。效率非常重要,因此除非仅在条件语句中,否则不能选择使用 volatile。我看不到将静态类与单例对象一起使用的方法(这是框架的一部分,我不知道人们需要使用该函数来处理什么样的数字,所以我无法猜测最大值是多少选择的值将是或是否将使用该函数)。我唯一能想到的就是让一切都不是静态的,并坚持需要使用此方法的每个线程都用自己的数组实例化一个选择对象。看来这应该是不必要的。

0 投票
2 回答
2412 浏览

recursion - 在 LISP 中使用尾递归的二项式系数

我想编写一个函数来使用尾递归查找 C(n,k),非常感谢您的帮助。

我已经达到了这个:

使用二项式系数的以下性质

但我不知道如何使递归调用成为每个实例执行的最后一条指令,因为最后一条是产品。我一直在尝试使用辅助功能,我认为这是唯一的方法,但我还没有找到解决方案。

0 投票
2 回答
1238 浏览

algorithm - 二项式系数

我一直在寻找一个简单的二项式系数算法,但无济于事。问题是我上课使用的语言有点……奇怪。其中很多是使用 Yacc 和 Lex。

无论如何,我们在课堂上做了一个例子:

这是一个计算阶乘的例子,但现在我需要修改它以便能够计算 C(n,k) 或 N 选择 K(也称为二项式系数),但我不知道我应该让它有多复杂。我们可以选择任何 N 和 K(用户不必输入它们),因此任何随机的 2 个数字都可以使用(例如上面的示例)。我很确定这段代码只支持基本函数,如while循环和基本数学,所以我认为不可能使用阶乘......但我想我可以使用上面的代码吗?

有任何想法吗?

0 投票
5 回答
2663 浏览

multithreading - 二项式系数

“简单”的问题,计算二项式系数的最快方法是什么?- 一些线程算法?

我正在寻找提示:) - 不是实现:)

0 投票
1 回答
1650 浏览

arrays - 2 variables in an array

I am trying to create a function in MATLAB which will expand a bracket to the power of n, where n is a natural number. This is what I have so far:

I get this error when I run it:

So how do I store 2 variables in an array?

0 投票
2 回答
344 浏览

math - 多项式集

我在解决这个问题时遇到了问题,它类似于组合非唯一字母集,但略有不同。

令 k、m 和 n 为正整数。我们有 nm 个球、m 个颜色、n 个球和 k 个唯一标记的 bin。有多少种不同的方法可以选择 n 个球放入 k 个袋子中?

例如,如果 m = 3,n = k = 2,则结果为 21。有 3 种颜色,我们从总共 6 个球中选择 2 个球放入 2 个箱中。

(-, WW), (-,WR), (-, WB) ...

(WW, -), (WR, -) ...

(W,W), (W,R) ...

(B,W), (B,R) ...

这个问题的正常版本不需要选择全部元素的子集。这个问题产生 n! /× 1!× 2!× 3!...其中 x 1, x 2, x 3是重复字母组。

校正(清晰度)-> 你总共有 nm 个球。每种颜色的n个球,其中有m种颜色;然后,您从这里随机选择这些总共 nm 个球中的 n 个,并将它们放入 k 个不同的箱中。

0 投票
3 回答
158 浏览

javascript - 使用约 25 件物品中的 6 件物品计算可达到的最高伤害

我正在用 javascript 编写一个应用程序,试图找出视频游戏中角色的项目构建。顶级物品大约有 25 件,一次可以携带 6 件。它们有非常不同的效果,这让我相信,虽然一个项目本身看起来不是很好,但与其他项目结合起来会变得更强大。如果有兴趣,我可以详细说明。

问题:

  1. 如何获得 6 个项目的所有不同不同组合的列表?会有多少种组合?它只是 25c6 (~134k) 吗?还是我需要删除重复项?(对不起,我有一段时间没上数学课了。)

  2. 你将如何在 Javascript 中实现这样的东西?是否已经有一个数学库可以做到这一点?(具体来说,遍历所有可能的项目组合。)

  3. 似乎可以蛮力计算所有可能组合的伤害并保存顶级项目组合?如果没有,是否有更好的算法来找到强组合?

这是我的代码,基于每个人的输入: