Posez votre question Signaler

PGCD de 2 nombres

abdelmadjid1990 110Messages postés 13 juin 2008Date d'inscription - Dernière réponse le 6 mai 2009 à 15:52
Bonsoir,
quelqu'un peut m'aider ,j'arrive pas à résoudre ce problème :
écrire l'algorithme permettant de calculer de PGCD de deux nombres a et b positifs non nuls tels que a>b en utilisant la méthode de la division euclidienne
principe:
le PGCD de deux nombres peut s'obtenir par la division de a par b, puis de b par le reste obtenu et ainsi de suite jusqu'à ce que l'on obtienne un reste nul,le dernier diviseur est alors le PGCD DE A ET B.
je sais qu'il faut utilisé "mod" et "div" mais j'ai aucune idée sur ces deux instructions
merci d'avance
Lire la suite 

PGCD de 2 nombres »

3 réponses
Réponse
+1
moins plus
Pour une version Java avec des BigInteger :

private BigInteger PGCD(BigInteger a, BigInteger b)
{
BigInteger k;
BigInteger zero = new BigInteger("0");

while (!(b.equals(zero)))
{
// write("a = " + a + ", b= " + b);
k = a.mod(b);
a = b;
b = k;
}
;

return a;
}
Ajouter un commentaire
Réponse
-1
moins plus
Comment veux-tu qu'on t'aide plus ? Tu as déjà l'algorithme !
Et en supposant que tu veuilles l'implémentation on ne sais pas dans quel langage...
abdelmadjid1990 - 8 janv. 2009 à 13:04
bonjour;
je t'ai envoyé ce message en demandant de l'aide,et j'ai déclaré que j'en ai aucune idée comment utiliser les opérateurs "mod" et"div" dans le langage pascal , tu croyais que j'ai voulu la solution ?
et maintenant j'ai trouvé l'algorithme correspondant à cet exercice:


algorithme PGCD;
var k,a,b:entier;
lire(a,b);
répéter
k:= a mod b ;
a:=b;
b:=k;
jusqu'à ce que b=0;
écrire('PGCD:',a);
fin.


merci d'avoir m'aider.
Ajouter un commentaire
Ce document intitulé « PGCD de 2 nombres » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook