gmp_nextprime

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

gmp_nextprime查找下一个素数

描述

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

查找下一个素数

参数

num

一个 GMP 对象,一个 int 或一个数值 string

返回值

返回大于 num 的下一个素数,作为 GMP 数。

示例

示例 #1 gmp_nextprime() 示例

<?php
$prime1
= gmp_nextprime(10); // 大于 10 的下一个素数
$prime2 = gmp_nextprime(-1000); // 大于 -1000 的下一个素数

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

以上示例将输出

11
2

注释

注意:

此函数使用概率算法来识别素数,获得合数的概率极小。

添加注释

用户贡献的注释 3 个注释

5
Tommy Lynge Jrgensen
8 年前
素数是正的非零数,它们恰好有两个因数。不多不少。因此,测试负数实际上没有意义。
3
IceMetalPunk at gmail dot com
7 年前
负数 N 总是至少有四个因数:N*1=N 和 abs(N)*-1=N。因此,即使“自然数”不在素数的定义中(它确实存在),任何负数都不会符合条件。因此,任何负数的下一个最大的素数始终是 2。
-1
匿名
8 年前
gmp_nextprime 在负数上的表现似乎总是返回 2。
To Top