Hi,
// ++++ Funktion zur Ermittlung ob es sich um eine Priemzahl handelt
// in der Schleife guckt er ob es einen Teiler gibt (dann wäre es ja keine Priemzahl)
Allerdings um das Ganze effizient zu machen läuft die Schleife nicht durch alle Zahlen sondern nur durch die Relevanten Zahlen, eben bis Wurzel(zahl), da die darauffolgenden zahlen wieder Teil des Produktes mit Zahlen wären die bis dahin schon aufgetaucht sind.
<?php
function chk_prime($number){
$prime = true;
for($i=2;$i<=sqrt($number);$i++){
if($number % $i == 0){
$prime = false;
break;
}
}
if($prime == false):
return false;
else:
return true;
endif;
}
// ++++ hier machst Du einfach eine Ausgabe der Priemzahlen zwischen 0 und 1000 und rufst Dabei zum check die Funktion auf
$i = 0;
while($i < 1000){
if(chk_prime($i)){
echo $i."<br>";
}
$i++;
}
?>
wenn ich jezt allerdings das sqrt($number) weglasse, schreib es nur die zahlen 0 und 1.
Das kannst Du nicht weglassen, denn es ist wichtig zur Ausführung der Schleife, was hast Du stattdessen geschrieben? Je nach dem kommt es zur Anzeige von 0 und 1
und wenn ich anstatt sqrt($number) eine zahl (z.B. 900) schreibe, schreibt das Skript 1 und die Primzahlen ab der definierten Zahl.
Wie gerade beschrieben. Die Anzahl die Du verwendest hat nichts mit der Funktion zu tun.
Hoffe es ist einigermassen verständlich erklärt!?
ciao
romy
DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode