需要算法的建议。
对于给定的数字 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/