首页  >  文章  >  后端开发  >  php怎么判断一个数是不是素数?

php怎么判断一个数是不是素数?

青灯夜游
青灯夜游原创
2019-10-12 17:52:085588浏览

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。(注:1不是素数。)那么php怎么判断一个数是不是素数?下面本篇文章就来给大家介绍一下。

php怎么判断一个数是不是素数?

下面我们就来介绍php判断素数的三种方法是什么?

方法一:

基本方法,——计数方法。

$num = 7;$n = 0; //用于记录能被整除的个数 -- 计数
for($i = 1;$i <= $num; ++$i){    
    if($num % $i == 0){        
       $n++;
    }
}
if($n == 2){    
   echo "$num 是素数";
}else{    
   echo "$num 不是素数";
}

方法二:

就是一个数等于两个数乘积时,其中一个数肯定小于该数的一半。利用break;只要其中有一个数能被除尽,就立即结束循环。这样就可以减少循环次数,加快速度。

$num = 5;$flag = true;
for($i = 2;$i <= $num/2;++$i)
{    if($num % $i == 0)
    {        $flag = false;        break;
    }
}if($flag)
{    echo "$num 是素数";
}else{    echo "$num 不是素数";
}

方法三:

同上,两个数相乘的乘积等于一个数时,那么其中一个数,肯定要小于该数的平方根。

$num = 4;for($i = 2;$i<$num;++$i){    
     if($num % $i == 0){        
         echo "$num 不是素数";        
         break;
    }    
    if($i >= sqrt($num)){        
       echo "$num 是素数";        
       break;
    }
}

 更多PHP相关知识,请访问:PHP中文网

以上是php怎么判断一个数是不是素数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn