Hallo,
Also, ich scheine irgendwie die Logik eines php Skriptes nicht so ganz zu verstehen. Ich muss gleich sagen, dieses Skript ist nur eine Spielerei (und Hausaufgabe....) ist,aber ich scheine die logik meines Skriptes trotzdem nicht so ganz nachvollziehen zu können.
Die Aufgabe ist, die Primzahlen von 0 bis 1000 ausgeben zu lassen.
Dieses Skript funktioniert wunderbar:
<?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;
}
$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.
und wenn ich anstatt sqrt($number) eine zahl (z.B. 900) schreibe, schreibt das Skript 1 und die Primzahlen ab der definierten Zahl.
Warum? wo ist der Unterschied ob man die Quadratwurzel einer Zahl oder die Zahl selbst oder eine ganz normale Zahl nimmt?(Abgehsehen von der Höhe der Zahl, aber dann nur 0 und 1 zu schreiben ist doch auch irgendwie unlogisch).
gruß,
Severin