downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

gmp_random> <gmp_powm
[edit] Last updated: Fri, 14 Jun 2013

view this page in

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5)

gmp_prob_primeNombre GMP probablement premier

Description

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

La fonction utilise le test de probabilité Miller-Rabin.

Liste de paramètres

a

Le nombre à vérifier.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

reps

reps peut raisonnablement varier de 5 à 10 (par défaut, c'est 10); une valeur supérieure réduit la probabilité qu'un nombre non premier soit identifié comme "probablement" premier.

Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.

Valeurs de retour

Si gmp_prob_prime() retourne 0, a est défini comme non premier. Si gmp_prob_prime() retourne 1, alors a est "probablement" premier. Si gmp_prob_prime() retourne 2, alors a est sûrement premier.

Exemples

Exemple #1 Exemple avec gmp_prob_prime()

<?php
// pas premier
echo gmp_prob_prime("6") . "\n";

// probablement premier
echo gmp_prob_prime("1111111111111111111") . "\n";

// premier
echo gmp_prob_prime("11") . "\n";
?>

L'exemple ci-dessus va afficher :

0
1
2



add a note add a note User Contributed Notes gmp_prob_prime - [1 notes]
up
-1
roland at mxchange dot org
2 years ago
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.

 
show source | credits | sitemap | contact | advertising | mirror sites