Pgcd : algorithme d'euclide par recursivité


Contenu du snippet

Il existe une fonction pour trouver le PGCD je vous en propose une autre ici.
Cette fonction est recursive et ecrit les étapes intermediaires jusqu'a vous donner le PGCD d'un nombre

Source / Exemple :


<?php
function pgcd($diviseur,$reste)
{
    //
    // Verifie si le reste est egal a 0 si oui on a trouvé le PGCD
    //
    if ($reste == 0)
    {
        echo "<b>PGCD :</b>$diviseur";
    }
    //
    // Sinon on continu de le chercher
    //
    else
    {
        echo "$diviseur/$reste = ".intval(abs($diviseur/$reste))." reste ".$diviseur%$reste."<br />";
        pgcd($reste,$diviseur%$reste); // recursivité
    }
}

echo 'PGCD('.$_GET['nbr1'].';'.$_GET['nbr2'].')<br /><br />';
echo max($_GET['nbr1'],$_GET['nbr2']).'/'.min($_GET['nbr1'],$_GET['nbr2']).' = '.intval(abs(max($_GET['nbr1'],$_GET['nbr2'])/min($_GET['nbr1'],$_GET['nbr2']))).' reste '.max($_GET['nbr1'],$_GET['nbr2'])%min($_GET['nbr1'],$_GET['nbr2']).'<br />';
pgcd(min($_GET['nbr1'],$_GET['nbr2']),max($_GET['nbr1'],$_GET['nbr2'])%min($_GET['nbr1'],$_GET['nbr2']));
?>

Conclusion :


Ce script prend 2 parametres en GET :
nbr1 : qui est le premier nombre
nbr2 : qui est le deuxieme

Exemple d'appelle : script.php?nbr1=15&nbr2=5

Pour rapelle le PGCD est le plus grand commun diviseur

mon site : http://iow4.net

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.