略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: gmp_prob_prime

2024-11-14

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_prob_primeCheck if number is "probably prime"

说明

gmp_prob_prime(GMP|int|string $num, int $repetitions = 10): int

The function uses Miller-Rabin's probabilistic test to check if a number is a prime.

参数

num

The number being checked as a prime.

GMP 对象或 int ,或数字string

repetitions

Reasonable values of repetitions vary from 5 to 10 (default being 10); a higher value lowers the probability for a non-prime to pass as a "probable" prime.

GMP 对象或 int ,或数字string

返回值

If this function returns 0, num is definitely not prime. If it returns 1, then num is "probably" prime. If it returns 2, then num is surely prime.

范例

示例 #1 gmp_prob_prime() example

<?php
// definitely not a prime
echo gmp_prob_prime("6") . "\n";

// probably a prime
echo gmp_prob_prime("1111111111111111111") . "\n";

// definitely a prime
echo gmp_prob_prime("11") . "\n";
?>

以上例程会输出:

0
1
2
add a noteadd a note

User Contributed Notes 1 note

up
4
florin dot ciuica at yahoo dot com
7 years ago
<?php
    $max
= 2147483647;
   
   
$primesFound = 0;
   
$probablePrimes = 0;

    for (
$x = 1; $x <= $max; $x++) {
       
$primeStatus = gmp_prob_prime($x);
        if (
$primeStatus == 1) {
           
$probablePrimes++;
        } else if (
$primeStatus == 2) {
           
$primesFound++;
        }
    }
    echo
"Total primes found: " . $primesFound . " between 1 and " . $max . ". Probable primes in this interval: " . $probablePrimes;
?>

Based on that the following results were obtained:

1 - 100000      - certain primes found: 9592,     probable: 0
1 - 1000000     - certain primes found: 78498,    probable: 0
1 - 10000000    - certain primes found: 78498,    probable: 586081
1 - 100000000   - certain primes found: 78498,    probable: 5682957
1 - 1000000000  - certain primes found: 78498,    probable: 50769036
1 - 2147483647  - certain primes found: 78498,    probable: 105019067

官方地址:https://www.php.net/manual/en/function.gmp-prob-prime.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3