首页 > 代码库 > 判断素数

判断素数

 

 

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; }