Here is a simple demonstration code to fine prime possibilities. On my 64 bit Linux box I can only go until 61, larger numbers causes warnings due to the EXP number:
<?php
for ($idx = 0; $idx <= 61; $idx++) {
$pow = (gmp_strval(gmp_pow('2', $idx)) - 1);
$prop = gmp_prob_prime($pow);
if ($prop > 0) {
echo 'idx=' . $idx . "\n--------\n";
echo 'pow=' . $pow . "\n";
echo 'prop=' . $prop . "\n------\n";
}
}
?>
By 'pow' is the possible prime number.
gmp_prob_prime
(PHP 4 >= 4.0.4, PHP 5)
gmp_prob_prime — Controlla se il numero è "probabilmente primo"
Descrizione
int gmp_prob_prime
( resource
$a
[, int $reps
] )
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.
roland at mxchange dot org ¶
2 years ago
