问题标签 [number-theory]

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 投票
3 回答
500 浏览

floating-point - 为什么 fmod(55.8,9.3) 在 55.8/9.3 =6 时返回 9.3?

我正在尝试使用 fmod 函数,但没有得到我期望的结果。

0 投票
2 回答
5962 浏览

javascript - 为线性同余生成器选择 A、C 和 M

我希望实现一个简单的伪随机数生成器(PRNG),它具有指定的周期并保证在该周期内没有冲突。在做了一些研究之后,我遇到了非常有名的LCG,它非常完美。问题是,我无法理解如何正确配置它。这是我当前的实现:

它说,为了使所有种子值都有一个完整的周期,必须满足以下条件:

  1. cm互质
  2. a-1能被m的所有素因子整除
  3. 如果m是4 的倍数,则a-1是 4 的倍数

13很容易理解和测试。但是2怎么样,我不太明白这意味着什么或如何检查它。那么C呢,它可以为零吗?如果它不为零怎么办?

总的来说,我需要选择 A、C 和 M 以使我的周期为48^5 - 1。M等于周期,我不确定A和C。

0 投票
3 回答
2787 浏览

algorithm - 查找两点之间的最大距离

昨天,我出现在一个采访中。我被困在一个问题中,我在这里问同样的问题。

给定一个数组,显示 x 轴上的点,有 N 个点。还赠送了M币。

您必须最大化任意两点之间的最小距离。

请帮助我,因为我完全陷入了这个问题。

0 投票
1 回答
1585 浏览

integer - 在给定总数、部分数和最大和数的情况下查找整数分区的数量

我正在寻找总共 N 的整数分区数,其中有多个部分 S,最大部分正好是 X,但没有枚举所有部分。

例如:所有 100 的分区有 10 个部分和 42 作为最大部分。

我没有找到解决这个问题的定理或划分恒等式,我怀疑这是一个不容易从已知定理推导出来的非平凡问题(例如 Nijenhuis 和 Wilf 1978,Andrews et al. 2004,Bona 2006):

例如:N 中恰好 S 部分的分区数等于 N 中恰好 S 为最大部分的分区数。

这个问题与我的研究有关,这远远超出了纯数学。

更新:这个问题在下面得到了回答,但我想发布我用来实现它的 Python 脚本。我可能会推动它通过 Cython 以获得一些速度。

0 投票
1 回答
7677 浏览

hadoop - 生成素数的并行算法(可能使用 Hadoop 的 map reduce)

生成素数是我经常尝试的一个玩具问题,尤其是在尝试新的编程语言、平台或风格时。

我正在考虑尝试使用 Hadoop(Map Reduce)编写质数生成算法或质数测试算法。

我想我会发布这个问题来获取提示、参考、算法和方法。

虽然我的主要兴趣是基于 Map Reduce 的算法,但我不介意查看新的 Hadoop 编程模型或例如使用PiCloud

关于质数生成,我似乎有一些有趣的问题:hereherehere,但没有任何与 Parallel 方法相关的问题引起我的注意。

提前致谢。

0 投票
3 回答
5028 浏览

algorithm - 在数组中查找对,使得 a%b = k ,其中 k 是给定的整数

这是我遇到的一个有趣的编程难题。给定一个正整数数组和一个数字 K。我们需要从数组中找到对 (a,b) 使得a % b = K.

我对此有一个简单的O(n^2)解决方案,我们可以检查所有对,例如 a%b=k。有效但效率低下。我们当然可以做得比这更好,不是吗?任何有效的算法相同?哦,这不是家庭作业。

0 投票
3 回答
426 浏览

number-theory - xy+yz+ xz = N的不同解数

我一直在尝试解决关于 spoj 的问题。这是问题的链接。

http://www.spoj.pl/problems/TAP2012B/

根据我的解释,我需要找到方程 xy+yz+xz = N 的解数,其中 n 给了我们。x>=y>=z z 可以为零。但是 x 和 y 不能。我尝试通过实现 3 个 for 循环(不好的方法)来解决这个问题。它给出了正确的答案,但它太慢了。此外,其他人几乎很快就解决了它(0.00)所以我相信这个问题有一种非常不同的方法。对于 N = 20,不同解的数量为 5: (6,2,1) (5,4,0) (10,2,0) (4,2,2,) (20,1,0)

0 投票
1 回答
510 浏览

c - 输出中的模运算

在大多数假定程序输出非常大的编码竞赛中,通常指示将输出除以 10000007(或在这种情况下为素数)。取素数的意义是什么,因为在许多情况下,我发现与 100004 相同的数字(即不是素数)..?

0 投票
2 回答
802 浏览

c++ - C++ 数论库(线程安全、跨平台)

我正在寻找一个支持长整数和多项式算术的优化、跨平台和线程安全的C/C++ 库。

NTL和 Lidia 的功能就足够了,但它们不是线程安全的。

我不确定Flint,它似乎不是跨平台的。

有人可以帮忙吗?

0 投票
1 回答
1042 浏览

python - 如果我有一个素数/指数列表,如何生成一个数字的所有乘法分区?

例如,数字 24 的素数分解为 2^3*3^1,可以写成以下方式

我可能错过了一个,但你明白了。

我尝试查看另一个线程如何找到任何整数的乘法分区?但老实说,无法理解答案。

我不需要任何人为我编写代码,而是我可以真正使用一些帮助来为此创建一个有效的算法(可能是递归的?)。

我正在用 Python 编码。