Forum: Programmieren allgemein
by BenjaminH,
7. Sep 2005
Also, ich meine die zweite funktion lohnt sich eindeutig(zumindest bei solchen Zahlen):
Nach Test eins ist 2147483647 eine Primzahl
Das herauszufinden dauerte 34780ms
Nach Test zwei ist 2147483647 eine Primzahl
Das herauszufinden dauerte 18026ms
Forum: Programmieren allgemein
by BenjaminH,
7. Sep 2005
So, ich hab mal ein beispielprogramm mit einer zweiten funktion, die doppelt so schnell ist angehängt, daran wirst du vermutlich auch die Verwendung erkennen...
Grüße Benjamin
Forum: Programmieren allgemein
by BenjaminH,
7. Sep 2005
Sorry, ich hab oben bei der Funktion den Rückgabewert vergessen gehabt :oops:
Du musst einfach diese Funktion mit der Zahl, von der du wissen willst, ob sie Prim ist, als Parameter aufrufen:
b1,b2,b3:Boolean;
b1:=IsPrime(5);
b2:=IsPrime(1);
b3:=IsPrime(5680);
b1 wird danach True, b2 und b3 false sein...
Wenn du des mit C&P machst, kopier dir doch nochmal die neueste Version von oben, ich...
Forum: Programmieren allgemein
by BenjaminH,
7. Sep 2005
Eine Primzahl ist als eine Zahl mit genau 2 Teilern definiert... also ist die 1 keine!
Wenn die 1 Primzahl wäre, dann wäre die eindeutigkeit der Primfaktorzerlegung nicht mehr gegeben:
29=3*13=1*3*13=1^10*3*13
Forum: Programmieren allgemein
by BenjaminH,
7. Sep 2005
Wenn dann eine negative...
Forum: Programmieren allgemein
by BenjaminH,
7. Sep 2005
for (var i=2;i<num;i++) {
if (num % i == 0) {
var prime="yes";
form.result.value=(num + " ist keine Primzahl. Sie ist teilbar durch " + i );
break;
}
if (num % i != 0) var prime="no";
}
if (prime == "no") form.result.value=(num + " ist eine Primzahl!");
}