需要一个算法的建议。
对于给定的数字N,我必须找到它所包含的所有素数,如下所示:
N = 49
49 = 7 ^ 2
N = 168
168 = (2 ^ 3) * (3 ^ 1) * (7 ^ 1)
如果你想帮助我更多,你可以用c ++编写算法。
感谢。
答案 0 :(得分:3)
最直接的方式是试验分裂。基本上只是尝试将n除以每个素数直到sqrt(n)。对于大数字,这是一个非常慢的算法。
http://en.wikipedia.org/wiki/Trial_division
对于更复杂的算法,请尝试http://en.wikipedia.org/wiki/Integer_factorization