c++判断素数应该遍历的范围是多少?开平方是什么意思?



c++程序在判断一个数字是否为素数的时候,为什么要求出这个数字的平方根呢?我们在遍历判断素数的时候,应该遍历到哪个位置比较适合,比较节省资源与时间呢?

其实不需要计算到n/2,只需要i*i<n就行,因为如果n可以被一个数整除,那么其中一个数一定小于等于n开方,另一个大于等于n的开方,所以只需要算到这儿,到后面就是多余的了