k<=sqrt(x)在c语言中求素数啥意思

如题所述

检验一个数n是素数要验算从除以2到n-1是否整除,其实不用的只要验算2到sqrt(n)就可以了,因为对于n/i=j,其实是验算了i和j(n/j=i),因此验算的时候i<=j即可,而当i最大的时候就是i等于j的时候,也就是n/i=i,所以只需要验算到sqrt(n)即可
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-04
如果要求的数x不是素数,那么它的质因数一定小于sqrt(x),这样判断只是为了减少循环的次数
第2个回答  2015-12-04

sqrt()这函数是开平方根  比如 

sqrt(9);//结果为3

第3个回答  2019-07-05
检验一个数n是素数要验算从除以2到n-1是否整除,其实不用的只要验算2到sqrt(n)就可以了,因为对于n/i=j,其实是验算了i和j(n/j=i),因此验算的时候i<=j即可,而当i最大的时候就是i等于j的时候,也就是n/i=i,所以只需要验算到sqrt(n)即可
第4个回答  2019-11-12
检验一个数n是素数要验算从除以2到n-1是否整除,其实不用的只要验算2到sqrt(n)就可以了,因为对于n/i=j,其实是验算了i和j(n/j=i),因此验算的时候i<=j即可,而当i最大的时候就是i等于j的时候,也就是n/i=i,所以只需要验算到sqrt(n)即可
相似回答