Algorithme d euclide

nameline Messages postés 1 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

je cherche un programme pour avoir en langage pascal( utilisation de turbo pascal) pour determiner le plus grand diviseur commund un nombre par l algorithme d euclide! en fait j ai trouvé bcq de ce langage sur le net mais je cherche une explication plus facile vu que je dois la presenter en classe.

merci d avance.

Nameline.

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
En pascal, on utilisera la récursivité et ça nous donnera :
function pgcd(a,b:integer):integer;
begin
if b=0 then result:=a
       else result:=pgcd(b,a mod b);
end;
2
uesgui Messages postés 183 Statut Membre 20
 
Bonjour,
Je poste l'algorithme et donne des liens sur son codage en plusieurs langages de programmation.

Algorithme d'Euclide
L'algorithme d'Euclide est un algorithme permettant de déterminer le plus grand commun diviseur (P.G.C.D.) de deux entiers dont on ne connaît pas la factorisation.
Dans la tradition grecque, en comprenant un nombre entier comme une longueur, un couple d'entiers comme un rectangle, leur PGCD est la longueur du côté du plus grand carré permettant de carreler entièrement ce rectangle. L'algorithme décompose ce rectangle en carrés, de plus en plus petits, par divisions euclidiennes successives, de la longueur par la largeur, puis de la largeur par le reste, jusqu'à un reste nul.
SOURCE : article de Wikipédia, l'encyclopédie libre.

Voici par ailleurs l'algorithme en C :
https://codes-sources.commentcamarche.net/

L'algorithme en Turbo Pascal(à vérifier sur le site dans quel langage c'est) :
https://codes-sources.commentcamarche.net/

Tu peux me tenir au courant de comment ça se passe et si ça résout ton problème mets le sujet en résolu.

Bonne Chance.
0