PHP 8.4.2 Released!

gmp_nextprime

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

gmp_nextprimeFind next prime number

说明

gmp_nextprime(GMP|int|string $num): GMP

Find next prime number

参数

num

GMP 对象、intstring,可以按照跟在 gmp_init() 中使用字符串并自动检测 base(即当 base 等于 0 时)相同的逻辑将其解释为数字。

返回值

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

示例

示例 #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
2

注释

注意:

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

添加备注

用户贡献的备注 3 notes

up
4
Tommy Lynge Jrgensen
8 years ago
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.
up
3
IceMetalPunk at gmail dot com
7 years ago
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.
up
-1
Anonymous
8 years ago
It seems gmp_nextprime on negative numbers always returns 2.
To Top