用C语言设计程序求素数时为什么要将这个数开根号?

如题所述

因为有理论可以证明。当一个数若不能被从2开始,到自身开根号为止这个范围内的证书整除,它就是素数了。随着所求数的增加。比起2到自身,2到自身开根号这个循环的范围大大缩小。有利于程序的快速运行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-15
提高算法的效率。可以少循环很多次,判断m是否为素数,判断到m-1与判断到根号下m结论是一样的,例如,36,以6(即根号下36)为界,它的因子都是一对一对出现的。追问

谢谢

第2个回答  2014-07-15
因为一个数k的最大素因子不大于根号k的取整。追答

最小素因子,,打错

追问

谢谢

第3个回答  2014-07-15
合数的约数必有一个小于他的开方
谢谢
第4个回答  2014-07-15
写错了,最小素因子