slakmann: kleinster gemeinsamer teiler mit modulo

Beitrag lesen

hallo,
ich wollte mit hilfe von modulo ein javascript schreiben, welches von 2 zahlen den kleinsten gemeinsamen teiler ermittelt (1 ausgenommen; also ab 2).
meine lösung siehe unten.
nur ich habe ein problem:
er gibt immer die zahl aus, die ich bei der for-schleife bei i definiert habe +1. also ich fange (wie im bsp. i=2 an, gibt er IMMER 3 aus. i=3 gibt er immer 4 aus und i=1 gibt er immer 2 aus.
meiner meinung nach müsste das script logisch korrekt sein. bitte helft mir.
danke.

<html>
  <head>
    <title>Modulo einer Zahl</title>
    <script language="javascript">
    <!--
    function fenster()
    {
      var zahl1 = Number(document.eingabe.zahl1.value);
      var zahl2 = Number(document.eingabe.zahl2.value);

/* erg1+erg2 beides != 0 damit er überhaupt erstmal in die
         schleife reingeht.
      */
      var erg1 = 1;
      var erg2 = 2;

/* i fängt bei 2 an da 1 immer der kleinste gemeinsamer teiler ist.
         i zählt hoch da wir bei der ersten gefunden zahl das ergebnis haben
         und nicht mehr weiter rechnen brauchen.

erg1!=0 && erg2!=0
         Die schleife soll solange laufen, bis bei beiden rest 0 gleichzeitig
         gefunden wurde.
      */
      for (var i=2; erg1!=0 && erg2!=0; i++)
      {
        //bei beiden den rest ausrechnen.
        erg1=zahl1/i;
        erg2=zahl2/1;

// folgendes ist nur eine verhinderung einer möglichen endlosschleife.
        if( i >= zahl1)
        {
          /* Wenn der zähler größer ist als die kleinste zahl, wird er nie einen
             gemeinsamen teiler finden. ob wir zahl1 oder zahl2 abrufen ist egal
             wir brauchen nicht wissen welche die kleinere ist. weil wenn wir
             die größere erwischen, haben wir die kleinere eh schon längst
             erreicht.
             somit wird i auf 1 gesetzt und die schleife beendet.
          */
          i=1;
          break;
        }
      }
      alert ('Der kleinste gemeinsamer Teiler ist: ' + i);
    }
    -->
    </script>
    <noscript>
      Sie haben kein JavaScript aktiviert. Schämen Sie sich!
    </noscript>
  </head>
  <body>
    <h1>
      Kleinster gemeinsamer Teiler
    </h1>
    Ab 2, da 1 immer der kleinste gemeinsamer Teiler ist.<br>
    Wenn ab 2 keinen gefunden wurde, wird 1 genommen.<br><br>
    <form name="eingabe">
       <b>Zahl1:</b> &nbsp;
       <input type="text" name="zahl1" maxlength="6" size="6">
        <br>
       <b>Zahl2:</b> &nbsp;
       <input type="text" name="zahl2" maxlength="6" size="6">
         <br><br>
       <input type="submit" name="senden" value="Senden" onclick="fenster();">
       <br>
    </form>
  </body>
</html>