Einzelnen Beitrag anzeigen
Alt 30.03.07, 21:43   #16 (permalink)
Stein
 
Benutzerbild von Stein
 
Registriert seit: 10.10.05
Stein Leistung: Facit NTK
Stein eine Nachricht über ICQ schicken
Likes: 0
Standard

Ein wunderschönes Ausgabelayout habe ich nicht, aber es klappt ganz gut wenn man denn genung RAM hat, wenn nicht muss man alles in MYSQL Tabellen anstatt von Array speichern. Hier das ganz in PHP:
PHP-Code:
<?php
/*Das Sieb des Aristotoes:
"Man muss nicht rechnen können um Primzahlen zufinden nur zählen." Normaler Weiser schreibt man alle Zahlen auf ein Blatt und fängt bei 2 an: 2
 wir nicht durchgestrichen, zwei weiter (4) wird durch gestrichen usw. dann mit 3.*/

$zahlen = array(0);//Beginn der Berechnung
for ($i=1;$i<10000;$i++){
    
$zahlen[$i] =1;
}
for(
$j=2;2*$j<10000;$j++){//"siebt" alle Zahlen bis zu Hälfte
    
if ($zahlen[$j] == 1){//nur Vielfach von Primzahlen werden druchgestrichen wenn 
        
for($k=$j;$k<10000;){ //ich alle Vielfach von 2 habe brauche ich die von 4 nicht.
            
$k=$k+$j;
            
$zahlen[$k] = 0;//Vielfach sind keine Primzahlen
        
}
    }        
}    
//Ende der Berechnung
//Beginn der Ausgabe
$primzahl = array(0);
for(
$l=1;$l<10000;$l++){
    if(
$zahlen[$l]==1){
        echo 
$l."<br>";
        
$primzahlen[]= $l;//Menge aller Primzahlen
    
}
}
//Jetzt die Primzahlpaarerweiterung:
echo "Primzahlpaare sind:<br>";
for(
$m=1;$m<count($primzahlen);$m++){
    if (
$primzahlen[$m+1]-$primzahlen[$m] == 2){
        
$mpluseins $m +1;
        echo 
"$primzahlen[$m] | $primzahlen[$mpluseins] <br>";//mit [$m+1] hat leider nicht geklappt
    
}
}
?>
__________________
Steinhagelvoll
Stein ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61