• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • gmp_prob_prime()

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

    Check if number is "probably prime"

    说明

    gmp_prob_prime(GMP$a[,int $reps= 10]): int

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

    参数

    $a

    The number being checked as a prime.

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

    $reps

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

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

    返回值

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

    范例

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

    上篇:gmp_powm()

    下篇:gmp_random_bits()