Transformer un code en code récursif

scrid -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour, j'aimerais transformer ce code en code récursif mais je ne sais pas trop comment m'y prendre.

function euclide() {
 var a = document.getElementById("nombre1").value;
 var b = document.getElementById("nombre2").value;
 if ( (Math.floor(parseInt(a)) != a) || (Math.floor(parseInt(b)) != b) || (a<0) || (a>1000000) || (b<0) || (b>1000000)) {
  alert("Veuillez saisir un nombre entier entre 0 et 1 000 000 !");
 }
 else {
  while (a%b != 0) {
   var temp = b;
   var b = a%b;
   var a = temp;
  }
  document.getElementById("resultat").innerHTML='Le PGCD vaut ' + b; 
 }
 
}


(voici la page html ci besoin)
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Calcul du PGCD de deux nombres</title>
  <script type="text/javascript" src="pgcd.js">  </script>
  <link href="pgcd.css" rel="stylesheet" type="text/css">
  
    </head>

    <body>
 <div id="bloc_page">
 <div id ="saisie" >
 
 <h1> Calcul du PGCD de deux nombres entiers </h1>
 
 <p> Veuillez saisir deux nombres entiers (entre 1 et 1 000 000 au maximum) </p>
    <input id="nombre1" type="number" min="1" max="1000000"  value="" step="1"   /> 
    <input id="nombre2" type="number" min="1" max="1000000"  value="" step="1"   /> </br>
 
 <p> Veuillez cliquer sur le bouton pour obtenir le PGCD : </p>
    <input id="bouton" value="Cliquez ici !" type="button" onclick="euclide()"/> 
 </br>
 
 </div>
 
 <div id="resultat"> </div>
 </div>
 </body>
</html>


PS : Je suis élève de terminale S avec option ISN (je débute).
A voir également:

2 réponses

Xavierdu34 Messages postés 223 Statut Membre 21
 
Bonjour,

Qu'appelles tu récursif, quel est l'objectif ?

Par récursif je comprends une fonction qui fait appel à elle même .. avec une condition de sortie, une sorte de boucle ... est ce que c'est ça et peux tu détailler l'objectif que l'on puisse mieux comprendre et donc répondre avec pertinence ...

Cordialement.
0
jisisv Messages postés 3678 Statut Modérateur 934
 
Il n'y a pas vraiment d'intérêt à récursifier cet algorithme.
La récursivité implique l'empilage de variables sur la pile, l'appel aux fonctions...
En général, on cherche plutôt à dérécursifier un algorithme, non ?
0