Calcul le pgcd

Younes - 2 janv. 2018 à 15:19 - Dernière réponse : hbouia 85 Messages postés mardi 30 juillet 2013Date d'inscription 2 janvier 2018 Dernière intervention
- 2 janv. 2018 à 19:21
Je vx calculer le pgcd en ustilisant la fonction récursive .....
Pour quoi ça ne marche pas !!
#include<iostream>
using namespace std;
int PGCD(int a,int b){
 if(a=b){
  return a;
 }
 else{
  if(a>b){
   return PGCD(b,a-b);
  }
  else{
   return PGCD(a,b-a);
  }
 }
}
int main(){
 int x,y;
 cin>>x>>y;
 cout<<"PGCD="<<PGCD(x,y)<<endl;
 return 0;
}


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

2 réponses

Répondre au sujet
Whismeril 10715 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 6 janvier 2018 Dernière intervention - 2 janv. 2018 à 18:45
0
Utile
Bonjour, merci ou s'il vous plait sont essentiels à toute demande car ces mots marquent la politesse élémentaire et montrent le respect que tout demandeur devrait avoir envers les bénévoles qui animent ce forum.

Merci donc de reformuler correctement votre question.
Commenter la réponse de Whismeril
hbouia 85 Messages postés mardi 30 juillet 2013Date d'inscription 2 janvier 2018 Dernière intervention - 2 janv. 2018 à 19:21
0
Utile
Bonjour,
Votre test d'égalité n'a pas la bonne syntaxe :
Remplacer :
if(a=b)

par :
if(a==b)

Et ça devrait marcher !

Bonne soirée

hbouia

P.S. il y'a plus simple comme algorithme :

int PGCD(int a, int b) {return ((b == 0) ? a : PGCD(b, a%b));}
Commenter la réponse de hbouia

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.