gmp_nextprime

(PHP 5 >= 5.2.0, PHP 7)

gmp_nextprimeFind next prime number

说明

GMP gmp_nextprime ( int $a )

Find next prime number

参数

a

可以是一个 GMP 数据 resouce,或一个可以转换为数值的字符串。

返回值

Return the next prime number greater than a, as a GMP number.

范例

Example #1 gmp_nextprime() example

<?php
$prime1 
gmp_nextprime(10); // next prime number greater than 10
$prime2 gmp_nextprime(-1000); // next prime number greater than -1000

echo gmp_strval($prime1) . "\n";
echo 
gmp_strval($prime2) . "\n";
?>

以上例程会输出:

11
-997

注释

Note:

This function uses a probabilistic algorithm to identify primes and chances to get a composite number are extremely small.

User Contributed Notes

IceMetalPunk at gmail dot com 03-Feb-2017 01:01
Negative numbers N always have at least four factors: N*1=N and abs(N)*-1=N. Therefore, even if "natural number" weren't in the definition of a prime (which it is), no negative number would ever qualify. Therefore, the next-largest prime number to any negative number is always 2.
Tommy Lynge Jrgensen 09-Jun-2016 01:17
Prime numbers are positive, non-zero numbers that have exactly two factors. No more, no less. So testing negative numbers doesn't really make any sense.
Anonymous 10-Feb-2016 02:21
It seems gmp_nextprime on negative numbers always returns 2.