c++ - 对于给定的数字 N,我必须找到它所包含的所有质数

标签 c++ algorithm primes

需要算法的建议。

对于给定的数字 N,我必须找到它所包含的所有质数,如下所示:

N = 49
49 = 7 ^ 2
N = 168
168 = (2 ^ 3) * (3 ^ 1) * (7 ^ 1)

如果你想帮助我更多,你可以用 C++ 编写算法。

谢谢。

最佳答案

最直接的方法就是试分。基本上只是尝试将 n 除以每个质数直到 sqrt(n)。对于大数,这是一个非常慢的算法。

http://en.wikipedia.org/wiki/Trial_division

对于更复杂的算法,请尝试 http://en.wikipedia.org/wiki/Integer_factorization

关于c++ - 对于给定的数字 N,我必须找到它所包含的所有质数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2299460/

相关文章:

c++ - 通用观察者模式

c++ - Cygwin GDB 在尝试启动程序时出现错误 193

c++ - 树程序哪里出错了?

c++ - 如何在包含子菜单项的菜单项上打勾。 (Visual Studio 2008 C++/MFC)

c++ - 动态规划 : Calculate all possible end positions for a list of consecutive jumps

algorithm - 创建动态编程算法以使用 tetranacci 数计算斐波那契数列

JAVA:BigO 算法 - equalsIgnoreCase 和 CompareTo

python - 埃拉托斯特尼筛法的理解

python - 卢卡斯概率素数检验

algorithm - 有效地找到前 n 个素数