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))