问题标签 [prime-factoring]

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 投票
4 回答
950 浏览

python - 在 python 中处理大计算的内存使用

我正在尝试使用 python 进行一些计算,但内存不足。因此,我想读/写一个文件以释放内存。我需要一个非常大的列表对象之类的东西,所以我想为文件中的每个对象写一行并读/写该行而不是内存。行排序对我来说很重要,因为我将使用行号作为索引。所以我想知道如何在不移动其他行的情况下替换 python 中的行(实际上,移动行是可以的,只要它们返回到我期望的位置)。

编辑

我正在尝试帮助一个朋友,这在 python 中比我差或等于我。该代码应该找到最大的素数,除以给定的非素数。此代码适用于数字,直到数字达到 100 万,但死后,我的记忆力在尝试制作数字列表时耗尽。

另一个编辑

为每个索引写入不同的文件怎么样?例如十亿个长整数文件名的文件,文件中只有一个数字?

0 投票
2 回答
806 浏览

c++ - 质因数生成 C++

这是我到目前为止所拥有的:

我尝试采用筛法来计算因子。所有非因子都分配为 0。如果它们既是输入因子又是素数,则 ArrayComp 将显示这些数字。

我遇到的问题是输出不完整并且程序遇到分段错误。例如,10 的因数是 5 和 2,但它显示 100 的答案相同。

编辑:我不太确定的另一件事是数组的大小。该程序显示 3 是 21 而不是 7 的主要因数,但如果我将大小增加 1,它会显示 3 和 5(不正确)

0 投票
3 回答
3111 浏览

java - 查找包含 273042282802155991 的至少 100 位长的素数

我是 Java 新手,我的一项课程作业是找到一个至少 100 位长的素数,其中包含数字 273042282802155991。

到目前为止我有这个,但是当我编译并运行它时,它似乎处于一个连续的循环中。

我不确定我是否做错了什么。

0 投票
4 回答
1862 浏览

c - 在c中使用递归找到最大的素数

已经编写了代码,我认为这是一个很好的算法,可以使用递归找到大量的最大素数。我的程序崩溃,但分配给变量 huge_number 的任何数字大于 4。我不擅长递归,并且赋值不允许任何类型的循环。

任何关于它为什么崩溃以及我如何改进它的信息将不胜感激。

0 投票
1 回答
2294 浏览

math - 有效计算范围内整数的除数总数

给定范围 [1, 2 百万],对于该范围内的每个数字,我需要生成并存储数组中每个整数的除数。

因此,如果 x=p1^(a1)*p2^a2*p3^a3,其中 p1, p2, p3 是素数,则 x 的除数总数由 (p1+1) (p2+1) (p3+ 1)。我生成了所有低于 2000 的素数,对于范围内的每个整数,我进行了试除法以获得每个素数因子的幂,然后使用上面的公式计算除数的数量并存储在数组中。但是,这样做非常慢,大约需要 5 秒才能为给定范围内的所有数字生成除数。

我们可以用其他有效的方式来做这个总和,可能不分解每个数字吗?

下面是我现在使用的代码。

0 投票
8 回答
2608 浏览

algorithm - 找到不小于 N 的最小正则数

则数是 60 次幂的整数。例如,60 2 = 3600 = 48 × 75,因此 48 和 75 都是 60 次幂的除数。因此,它们也是正则数。

这是向上取整到 2 的下一个幂的扩展。

我有一个整数值N,它可能包含大的素因数,我想将它四舍五入为仅由小素因数(2、3 和 5)组成的数字

例子:

  • f(18) == 18 == 21 * 32
  • f(19) == 20 == 22 * 51
  • f(257) == 270 == 21 * 33 * 51

找到满足此要求的最小数字的有效方法是什么?

涉及的值可能很大,所以我想避免从 1 开始枚举所有常规数字或维护所有可能值的数组。

0 投票
2 回答
806 浏览

c - 无法用 C 中的 12 位数字计算素数

我试图通过尝试在 Project Eular 页面上做示例来了解更多关于 C 代码的信息:http ://projecteuler.net/problems 目前我试图从数字 600851475143 中计算出最高素数。这是我的代码:

此代码适用于示例中的数字 13195,但是当我尝试更大的数字并且我不确定出了什么问题时会变坏。

输出大数 600851475143:素数:3 素数:29 素数:5108231 等。这不可能是正确的,因为该数字无论如何都不能被 3 整除。

无法弄清楚出了什么问题,所以任何帮助都会很棒

0 投票
1 回答
812 浏览

python - Python半素数分解方程求解器问题

我是一名农民/新手数论研究员。几年前,我碰巧发现了一种出现在素数分布中的模式,该模式将素数的数量与 300 个类似斐波那契的序列的运算联系起来。好吧,作为一个一直使用笔和纸的人,我在将我的方法转换为计算机代码时不知所措(所以我聘请了一名程序员在 Perl 中实现我的代码)。该代码有效,但这不是我现在需要的过程;我想问一个程序员社区,他们认为使这个(Python)代码工作的最佳方法是什么。此外,作为一名研究人员,我并不太关心人们将这段代码用于自己的用途——我只是想看看你用它做了什么!

Perl 程序生成的结果发表在 AT&T Online Encyclopedia of Integer Sequences 上。https://oeis.org/search?q=helkenberg&language=english&go=Search

下面的程序是我最近的努力,但我一生都无法弄清楚如何让代码的某些部分工作。

例如(来自下面更大的程序),

我正在自学如何编码,但我一生都无法弄清楚如何实现这一点!!!

最后,我需要使用这些值(z 项)来求解以下形式的方程:

其中 z 项同时用于 29 和 73(例如)

这是我到目前为止所拥有的。

0 投票
3 回答
2640 浏览

c - 算法优化(素数分解)

在开始之前让我说:这不是家庭作业,只是简单、古老、有趣。

现在,我正在尝试提出一个可以回答这个问题的算法1/x + 1/y = 1/n!.

正如您在上面的链接中看到的那样,作者只要求提示而不是实际答案,所以我也很乐意提出同样的要求。

我简化了表达式,直到 (x - n!)(y - n!) = (n!)^2 正如其中一个答案所建议的那样,到那时我才明白 (x,y) 对的组合数与 n!^2 的除数相同(如果我在这里错了,请纠正我)。

因此,正如接受的答案所建议的那样,我试图得到构成 N!^2 的每个素数的所有因子的乘法。

我用 C 语言编写了一些代码,使用试除法分解 N!^2 和Eratosthenes 的筛子,使所有素数达到 sqrt(N!^2)。

现在的问题是内存,我尝试过使用 N = 15,而我的 Mac(四核 6GB 内存)几乎死在我身上。问题是记忆。所以我添加了一些 printf 并尝试使用 N=11:

该列表是 N!^2 的所有主要因素(当然除了 1 和 N!^2)。

我想要一些关于如何最小化内存消耗和可能的优化的提示。

下面的代码,这只是一个快速的实验,所以我相信它可以被优化。

编辑:

作为一个例子,我将向您展示获得初始方程的所有可能正整数解的计算:

3!^2 = 36 = (3^2*2^2*1^0)

所以丢番图方程有 (1+2)(1+2)(1+0)=9 个可能的正整数解。如果计算负整数,则加倍。可以肯定的是,我正在使用WolframAlpha 。

编辑2:

我想我刚刚发现“什么是阶乘”,我得到了这个非常有趣的输出:

感谢:D

0 投票
5 回答
2256 浏览

recursion - Clojure 尾递归与素因子

我正在尝试自学 clojure,并且我正在使用 Prime Factors Kata 和 TDD 的原理来做到这一点。

通过一系列像这样的 Midje 测试:

我能够创建以下功能:

这很好用,直到我对其进行以下边缘案例测试:

我最终遇到堆栈溢出错误。我知道我需要将其转换为适当的递归循环,但我看到的所有示例似乎都过于简单化,只指向一个计数器或数值变量作为焦点。我如何使这个递归?

谢谢!