Spartan-117
Cadet 3rd Year
- Registriert
- Nov. 2010
- Beiträge
- 41
Hallo
Ich benutze folgenden Code zum berechnen des ggT(grösster gemeinsamer Teiler) und kgV(kleinstes gemeinsames Vielfaches):
(Ich bin nicht so der JS-Crack, also bitte keinen perfekten Code erwarten.
)
Nur leider funktioniert dies nicht so ganz.
Also mein Problem ist, das dieses Script bei Zahlen wie 1024 und 256 stehen bleibt. Aber z.B. bei 1071 und 1029 funktioniert. Ich kann keinen Fehler entdecken, jedoch haben doch diese Zahlen wie 256, 512, 1024 etc. doch eine "spezielle" Bedeutung.
Ich würde gerne wissen, wieso es nur bei solchen Zahlen stehen bleibt, und wie ich diesen Fehler reparieren kann.
P.S. jQuery ist vorhanden. =)
Vielen Dank,
Spartan-117
Ich benutze folgenden Code zum berechnen des ggT(grösster gemeinsamer Teiler) und kgV(kleinstes gemeinsames Vielfaches):
(Ich bin nicht so der JS-Crack, also bitte keinen perfekten Code erwarten.
Code:
<script type="text/javascript" language="javascript">
function ggT(z1,z2) {
var m = z1;
var n = z2;
var r = 1;
while(r != 0) {
if(m < n) {
var h = m;
m = n;
n = h;
}
r = m - n;
m = n;
n = r;
}
return m;
}
function kgV(z1,z2) {
kgv = (z1 * z2 / ggT(z1,z2));
return kgv;
}
function calcGGT() {
zahl1 = document.mathForm.z1.value;
zahl2 = document.mathForm.z2.value;
ggt = ggT(zahl1,zahl2);
$('.res').html('Der ggT von ' + zahl1 + ' und ' + zahl2 + ' ist: <b>' + ggt + '</b>');
}
function calcKGV() {
zahl1 = document.mathForm.z1.value;
zahl2 = document.mathForm.z2.value;
kgv = kgV(zahl1,zahl2);
$('.res').html('Das kgV von ' + zahl1 + ' und ' + zahl2 + ' ist: <b>' + kgv + '</b>');
}
</script>
<span class="res"></span><br /><br />
<form name="mathForm">
<input type="text" name="z1" />
<input type="text" name="z2" /><br /><br />
<input type="button" name="ggt" value="ggT berechnen" onclick="calcGGT();" />
<input type="button" name="kgv" value="kgV berechnen" onclick="calcKGV();" />
</form>
Nur leider funktioniert dies nicht so ganz.
Also mein Problem ist, das dieses Script bei Zahlen wie 1024 und 256 stehen bleibt. Aber z.B. bei 1071 und 1029 funktioniert. Ich kann keinen Fehler entdecken, jedoch haben doch diese Zahlen wie 256, 512, 1024 etc. doch eine "spezielle" Bedeutung.
Ich würde gerne wissen, wieso es nur bei solchen Zahlen stehen bleibt, und wie ich diesen Fehler reparieren kann.
P.S. jQuery ist vorhanden. =)
Vielen Dank,
Spartan-117