int isPrime( int number ) {
int ret=1; //先标记为“是1”素数,如果下面发现不是,再标记为“不是0”
if( number<2 ){ //小于2的整数都不是素数
ret = 0;
} else if( number == 2 ){ // 2是素数
ret = 1;
} else if( number%2 == 0 ){ // 大于2的偶数都不是素数
ret = 0;
} else{
//排除了上面三种情况后,只剩下大于等于3的奇数需要判断了
int i;
for( i=3; i*i<=number; i+=2 ){
//因为number都是奇数,所以用于检验的除数i也只需要是奇数
i+=2
if( number%i == 0 ){ //且只要检验到number的平方根就够了,
这里用i*i代替
ret = 0; break; //一旦能被除尽,立马离开循环,节约时间
} } }
return ret; }
原文地址:http://www.cnblogs.com/emochuanshuo/p/3843888.html