phpday 2025 - Call For Papers

gmp_prob_prime

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

gmp_prob_primeControlla se il numero è "probabilmente primo"

Descrizione

gmp_prob_prime(resource $a, int $reps = ?): int

Se questa funzione da come risultato 0, a non è primo. Se sarà 1, allora a è "probabilmente" primo. Invece se il risultato è 2, allora a sarà sicuramente primo. I valori "attendibili" di reps possono variare da 5 a 10 (di default 10); un valore più alto fa diminuire la probabilità che un numero non primo passi come "probabile" primo.

La funzione usa il test probabilistico di Miller-Rabin.

add a note

User Contributed Notes 1 note

up
4
florin dot ciuica at yahoo dot com
10 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
To Top