Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Ce programme ne fonctionne qu'avec des entiers naturels
// demande les données à l'utilisateur et convertit les chaînes de caractères en entiers
var a = parseInt(prompt("Entrer un entier naturel  a",0))
var b = parseInt(prompt("Entrer un entier naturel  b",0))
 
// On sauvegarde les valeurs de a et b.
a0 = a;
b0 = b;
 
// Initialisations. On laisse invariant p*a0 + q*b0 = a et  r*a0 + s*b0 = b.
p = 1; q = 0;
r = 0; s = 1;
 
// La boucle principale:
while (b != 0) { 
  c = a % b;
  quotient = Math.floor(a/b);  //Javascript n'a pas d'opération de division entière.
  a = b;
  b = c;
  nouveau_r = p - quotient * r; nouveau_s = q - quotient * s;
  p = r; q = s;
  r = nouveau_r; s = nouveau_s;
}
 
// Affiche le résultat.
 
alert("pgcd(" + a0 + "," + b0 + ")=" + p + "*" + a0 + "+(" + q + ")*" + b0 + "=" + a)
Salut ,
Je voudrais savoir si quelqu'un comprend cette algo trouvé sur wikipedia (http://fr.wikipedia.org/wiki/Algorit...de_%C3%A9tendu), à quoi servent les valeurs sauvegardées :
// On sauvegarde les valeurs de a et b.
a0 = a;
b0 = b;
je vois pas trop à quoi correspondent les éléments , donc si vous saviez m'expliquez un petit coup
merci