[algorithme calcul pgcd] [Fermé]

Signaler
Messages postés
1
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
23 février 2007
-
 ZAINPRODUCT -
bonjour ,j'ai besoin d'áide svp: je n'arrive pas a trouve la solution de cet exo ,son enonce est :une autre methode proche de celle d'euclide est appele algorithme de nicomachos .elle est basee sur la soustraction a la place de la devision
pgcd (a,b) = pgcd (b,a-b) avec a >=b. construisez cet algorithme en utilisant les fonctions et les procedures. merci d'avance car la resolution de cet exo est un point de repaire pour moi.

12 réponses

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 127
bonjour, je veux un moyen simple pour faire faire mon boulot à ma place ...

:o)

polux
39
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57848 internautes nous ont dit merci ce mois-ci

Messages postés
17
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
20 novembre 2007
42
voici un algorithme d' une fonction permettant de retourner le pgcd de 2 entiers données:

debut fonction PGCD_Dif(m,n:entier):entier
tant que (m<>n) faire

si m>n alors
m<----m-n
sinon
n<----n-m
finsi

fin tant que
PGCD_Diff<----m
fin pgcd

voici un tournage a la main:m= 21 etn= 15
21 <>15, 21>15 alors m=6 et n=15
6<>15, 6<15 alors n=9 et m=6
6<>9, 6<9 alors n=3 et m=6
6<>3, 6>3 alors m=3 et n=3
m=n=3 le condition d'arrêt de tant que ==> alors pgcd est le dernier valeur de m ou n =3
merci mean
merci............ j'ai pensé à une autre méthode très longue et j'a même pas eu de résultat ! vraiment merci du fond du coeur !
Je suis désolé mais je ne te suit pas
entier a, b

écrire "Introduisez le 1er nombre: "
lire a
écrire "Introduisez le 2ème nombre: "
lire b
tant que NOT (a*b=0) faire
si a>b alors a <-- a-b
sinon b <-- b-a
fsi
ftant
si a=0 alors écrire "PGCD = ", b
sinon écrire "PGCD = ", a
fsi
TITRE ; Afficher le PGCD de 2 nbrs entier


variable:N, A,B. PGCD : (ENTIER)
DEBUT
ecrire " entrez le nombre de valeur "
lira A
ecrire "entrez le nombre de valeur "
lire B
PGCD-----0
pour i=0 a N-1
si (A>B) ALORS
A <--A-B
sinon
B <--B-A
finsi
fin pour
si A=0 alors
ecrire "PGCD est " : B
sinon


ecrire "PGCD est " : A
finsi
FIN




    
variables m,n en entier
debut
ecrire"m"
lire m
ecrire"n"
lire n
tantque m<>n faire
si m>n alors
m<------ m-n
sinon
n<------ n-m
finsi
fintanatque
ecrire"le pgcd =",m
fin
Franchement je n'y comprends rien du tout
voici un programme pr le pgcd de deux nbres
lire(a)
lire(b)
si(a<b) alors
{d<---a
a<---b
b<---d
}
tanque(a mod b <>0) faire
{d<---a mod b
a<---b
b<---d
}
afficher( " le pgcd est",b)

bonjour tout le monde

on peut utiliser la récursivité :

if(p>q)
return pgcd(p-q,q);
else if(q>p)
return pgcd(p,q-p);
else
return p;
bjr
je veux avoir un algo qui permet de calculer et afficher le pgcd de deux nombres.
et le plus vite possible merci d'avance.
en iteratif:
a et b sont donnés
pgcdIteratif(int a,int b):Int
int d1,d2,r;
if(a>=b){
d2=a;
d1=b;
}
else{
d2=b;
d1=a;
}
r=d2%d1;
if(r==0)
return d1;
else{
while(r!=0){
d2=d1;
d1=r;
if(d2%d1==0)
return r;
else
r=d2%d1;
}
return r;
}



en recursif:
pgcdrecursif(int a,int b):Int
int d1,d2,r;
if(a>=b){
d2=a;
d1=b;
}
else{
d2=b;
d1=a;
}
if(d1==0)
return 0;
else if(d2%d1==0){
return d1;

}
else{

return rec(d2,d1,d2%d1);
}

}

rec(int d2,int d1,int r):Int
if(d2%d1==0)
return d1;
else
return rec(d1,r,d1%r);
sa c quel language
voici un algorithme d' une fonction permettant de retourner le pgcd de 2 entiers données:

debut fonction PGCD_Dif(m,n:entier):entier
tant que (m<>n) faire

si m>n alors
m<----m-n
sinon
n<----n-m
finsi

fin tant que
PGCD_Diff<----m
fin pgcd
tu fai 5*7-54 et c bn normalement a++
SLT
JE VOUDRAI BEIN QU'ON M'AIDE
voici l'exo
ecrire l'algorithme qui calcul le minimum de deux nombres A et B
Bonjour, j'ai un petie probléme je veut une methode simple d'un algorithme qui calcule le pgcd
P.G.C.D(a,b)




Si a est div par b ou b est div par a Si a n'est pas div par b ou b n'est pas div par a


PGCD(a,b)=b ou PGCD(a,b)=a PGCD(a,b)=1
var a,b:entier
debut
ecrire 'introduisez a'
lire a
ecrire "introquisez b"
lire b
ecrire 'a'\'b'=a\b
ecrire si' r=0" "PGDC"=b
sinon a<----b
b<-----r
fin
et en forma casio graphe 35 + sa donne quoi???