码迷,mamicode.com
首页 > 其他好文 > 详细

求素数只需要求到i*i<=x

时间:2019-07-11 20:23:58      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:png   com   class   a*   没有   int   ++   并且   为什么   

求素数只需要到i*i<=x

for(int i=2; i*i<=x i++)

 

1、素数,所以没有1,从2开始。

2、一个数如果不是素数,最大的因子该是小于等于x/2,在大根本没法除。

3、进一步确定到根号x,一个数如果不是素数,意味着一定存在两个因子a、b,并且a*b==x,并且这两个因子一定是一个大于根号x,一个小于根号x。其中极限情况是a==b==根号x。由此可得,我们只需要除到较小的因子的值,就可以判断素数。

4、为什么3的范围比2的范围小

技术图片

技术图片

 

求素数只需要求到i*i<=x

标签:png   com   class   a*   没有   int   ++   并且   为什么   

原文地址:https://www.cnblogs.com/ant-xu/p/11172207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!