php如何判断是否为素数?判断素数的三种方法(代码示例)

来源:转载 发布时间:2018-11-22 17:54:52 阅读量:1248

本篇文章给大家带来的内容是介绍php如何判断是否为素数?判断素数的三种方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

什么是素数?

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。(注:1不是素数。)

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

方法一:

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

1

2

3

4

5

6

7

8

9

10

11

$num = 7;$n = 0; //用于记录能被整除的个数 -- 计数

for($i = 1;$i <= $num; ++$i){   

    if($num % $i == 0){       

       $n++;

    }

}

if($n == 2){   

   echo "$num 是素数";

}else{   

   echo "$num 不是素数";

}

方法二:

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

1

2

3

4

5

6

7

8

$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 不是素数";

}

方法三:

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

1

2

3

4

5

6

7

8

9

10

$num = 4;for($i = 2;$i<$num;++$i){   

     if($num % $i == 0){       

         echo "$num 不是素数";       

         break;

    }   

    if($i >= sqrt($num)){       

       echo "$num 是素数";       

       break;

    }

}


标签: PHP
分享:
评论:
你还没有登录,请先