这属于算法上的问题,好好考虑一下算法,还要考虑一下素数的定义。
素数是只有1和本身能整除的整数。所以在求素数的时候,要将素数与1到素数本身中间的所有整数都相除,看是否有整除的数,如果有,那肯定不是素数了。但是从算法上考虑,为了减少重复量,开平方后面的数就不用相除了,因为a/b(平方数)=c(小一点的数),同样a/c=b。举例说明:
25,开平方以后是5,那么整除2~5就可以了,如果有满足条件的,就是素数。
原因:
如果不是素数,那么一定是两个数相乘得到这个数。设这两个数为a,b ,要判断的这个数为n。跟下n×跟下n结果为n。a,b相乘一定是一个小于跟下n,一个大于跟下n(如果不是一大一小,相乘不可能得到n,只可能比n这个数小)所以判断到了跟下n即可,再判断跟下n之后的数字已经没有意义,因为前面已经有相乘的数字。
标签:开平方,相乘,数为,素数,算法,循环,整除,根号 来源: https://blog.csdn.net/qq_40660825/article/details/104835147
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。