计算数字最大素数的最佳方法是什么?
我认为最有效的方法如下:
- 查找可以清楚地划分的最低质数
- 检查除法结果是否为质数
- 如果没有,找到下一个最低的
- 转到2。
我基于此假设,因为它更容易计算出小的素因数。这是对的吗?我还应该考虑其他什么方法?
编辑:我现在意识到,如果有两个以上素数在起作用,我的方法是徒劳的,因为当结果是另外两个素数的乘积时,步骤2失败了,因此需要递归算法。
再次编辑:现在我意识到它仍然可以工作,因为最后找到的质数必须是最高的质数,因此,对步骤2中非质数结果进行的任何进一步测试都将导致较小的质数。
1.
找到明确除以(对于i = 2到int(sqr(num))的任何数字)2.
除以该数字(num = num / i)并重复出现,直到在1中找不到任何值为止。间隔3.
num是最大因素