您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

找到大量最大素数的有效方法

找到大量最大素数的有效方法

从你的方法,你首先生成一个号码的所有约数nO(n),那么你测试这些除数的是另一个主要O(n)的呼叫数量test_prime(这是无论如何指数)。

更好的方法是观察到,一旦找到一个数的除数,就可以反复除以该数,以消除所有因素。因此,要得到的素数,说830297您测试了所有小的素数(缓存的),对于除以您的数的每个素数,请保持除法:

为了进一步提高速度,在测试了下面说的缓存素数后100,您必须使用test_prime函数(根据@Ben的答案更新)来测试素数,但从开始,继续进行反数运算sqrt。您的数字可被整除71,下一个数字将给出sqrt91992该数字在一定程度上接近6857最大的素数。

其他 2022/1/1 18:31:49 有527人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶