Précédent   Forum du club des développeurs et IT Pro > Autres langages > Algorithmes > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, FAQ, sources, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 25/11/2012, 23h20   #1
issam.abdallah
Membre éprouvé
 
Homme Abdallah Issam
Ingénieur Informatique
Inscription : novembre 2012
Messages : 37
Détails du profil
Informations personnelles :
Nom : Homme Abdallah Issam
Localisation : Tunisie

Informations professionnelles :
Activité : Ingénieur Informatique
Secteur : Enseignement

Informations forums :
Inscription : novembre 2012
Messages : 37
Points : 495
Points : 495
Par défaut Algorithme d'Euclide-PGCD

Bonjour,

Je vous propose un nouvel élément à utiliser : Algorithme d'Euclide-PGCD

L'algorithme d'Euclide permet de calculer facilement le plus grand diviseur commun entre deux entiers a et b : pgcd(a, b).


Algorithme:
Code :
1
2
3
4
tant que b != 0 faire : 
  b = (a mod b) 
  a = b
Car pgcd(a,b) = pgcd(b, a mod b)

Exemple: a= 7, b = 5

a mod b = 7 mod 5 = 2 ==> ( a = 5 et b = 2 )
a mod b = 5 mod 2 = 1 ==> ( a = 2 et b = 1 )
a mod b = 2 mod 1 = 0 ==> ( a = 1 et b = 0 )

Résultat finale : pgcd( 7 , 5 ) = pgcd (2, 1) = 1

pgcd( 7 , 5 ) = 1 ==> 7 et 5 sont premiers entre eux

Rappel : deux nombres a et b sont premiers entre eux si et seulement si leur plus grand commun diviseur est égal à 1 : pgcd(a, b) = 1.

Qu'en pensez-vous ?
issam.abdallah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2012, 23h50   #2
kwariz
Expert Confirmé
 
Homme Fred Kwariz
Chef de projet en SSII
Inscription : octobre 2011
Messages : 743
Détails du profil
Informations personnelles :
Nom : Homme Fred Kwariz
Âge : 40
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : octobre 2011
Messages : 743
Points : 2 934
Points : 2 934
Bonsoir,

L'algorithme est bon dans la démarche (c'est un des grands classiques) mais celui que tu as écris est incorrect. En plus des prérequis (0<=a<=b), tu écrases ta variable a avec une mauvaise valeur. Cela se repère facilement avec une trace.
kwariz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h39.


 
 
 
 
Partenaires

Hébergement Web