PHP | 检查一个数字是否为素数

本文介绍了一种使用PHP检查数字是否为素数的方法。通过两种不同的算法实现:一种是遍历到n/2,另一种更高效的算法是遍历到根号n。这两种方法都在PHP中进行了演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

检查一个数字是否为素数

给定一个数字,我们需要检查它是否是PHP中的素数。这里讨论了基本检查的一般方法。在本文中,我们将学习如何在PHP中检查一个数字是否是质数。

如果浏览不顺畅请到原文章出处:https://www.sky8g.com/technology/615/

请注意可能会提示风险,这是优快云网站设置的问题,如果文章内的链接不是他们的网址,都会对用户提示有风险,请点击继续访问,本网站全部文章为免费技术分享,请放心访问,无需担心。

请点击此处查看完整文章:https://www.sky8g.com/technology/615/
此篇文章是由SKY8G网作者原创,禁止抄袭。

 

检查一个数字是否为素数

给定一个数字,我们需要检查它是否是PHP中的素数。这里讨论了基本检查的一般方法。在本文中,我们将学习如何在PHP中检查一个数字是否是质数。

例子

 

1

2

3

4

5

Input : 21

Output : Not Prime

 

Input : 31

Output : Prime

简易方法

一个简单的解决方案是遍历所有的数字,从2到n/2,对每个数字检查它是否除以n。

下面是这种方法在PHP中的实现:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<?php

// PHP代码检查一个数字是否是素数

// 函数检查数字是否为素数

function primeCheck($number){

if ($number == 1)

return 0;

for ($i = 2; $i <= $number/2; $i++){

if ($number % $i == 0)

return 0;

}

return 1;

}

 

// Driver Code

$number = 31;

$flag = primeCheck($number);

if ($flag == 1)

echo "Prime";

else

echo "Not Prime"

?>

输出

1

Prime

有效的方法

我们可以通过观察来优化上述方法,而不是检查到n,我们可以检查到根号n,因为n的大因数必须是已经检查过的小因数的倍数。

因此,我们将遍历范围[2,sqrt(number)],以检查该数字是否可被任何数字整除。如果它能被整除它不是质数。

下面是这种方法在PHP中的实现:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<?php

// PHP代码检查一个数字是否是素数

// 函数检查数字是否为素数

function primeCheck($number){

if ($number == 1)

return 0;

for ($i = 2; $i <= sqrt($number); $i++){

if ($number % $i == 0)

return 0;

}

return 1;

}

 

// Driver Code

$number = 31;

$flag = primeCheck($number);

if ($flag == 1)

echo "Prime";

else

echo "Not Prime"

?>

输出

1

Prime

 

如果有不懂的地方请留言,SKY8G网站编辑者专注于研究IT源代码研究与开发。希望你下次光临,你的认可和留言是对我们最大的支持,谢谢!

 本篇文章是由sky8g网站原创文章版权声明转载请注明:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值