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

📅  最后修改于: 2022-05-13 01:56:34.513000             🧑  作者: Mango

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

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

例子:

Input : 21
Output : Not Prime

Input : 31
Output : Prime
 

简单方法:
一个简单的解决方案是遍历从 2 到 n/2 的所有数字,并检查每个数字是否除以 n。如果我们找到任何除数,我们返回 0(假),否则我们将返回 1(真)。

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

PHP


PHP


输出:

Prime

时间复杂度:O(n)

有效方法:
我们可以通过观察优化上述方法,而不是检查直到 n,我们可以检查直到 sqrt(n),因为 n 的较大因子必须是已经检查过的较小因子的倍数。
因此,我们将遍历范围 [2,sqrt(number)] 以检查该数字是否可以被任何数字整除。如果它是可整除的,则它不是质数。

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

PHP


输出:

Prime

时间复杂度:O(sqrt(n))