#1 17. Februar 2011 Modulo Primzahlen bis 100 Hallo RRler, habe mal wieder ein Programmierproblem und zwar schreibe ich morgen eine PHP Arbeit und komme mit einer Aufgabe einfach nicht zurecht und zwar: Aufgabe: Erstellen Sie ein Skript, das alle Primzahlen zwischen 1 und 100 berechnet und ausgibt. Bringen Sie dabei das Modulo-Verfahren zur Anwendung. Ich habe vorhin 3 Stunden lang auf Arbeit programmiert aber egal wie ich was versucht habe ich kriege es einfach nicht hin. Am liebsten wäre es mir mit 2 ineinander geschachtelten while Schleifen aber es will einfach nicht laufen. Könntet ihr mir ein solchen Script vielleicht kurz schreiben, weil ich mir das was ich auf Arbeit programmiert habe leider nicht nach Hause geschickt habe + Multi-Zitat Zitieren
#2 17. Februar 2011 AW: Modulo Primzahlen bis 100 PHP: for( $i = 1 ; $i <= 100 ; $i ++) { $x = 1 ; $prim = true ; while( $x <= $i ) { if( $i % $x != 0 ) { $prim = false ; break; } } if( $prim ) echo " $i ist eine Primzahl!" ; else echo " $x ist keine Primzahl" ;} Eben zusammengeschrieben und ungetestet, müsste aber funzen.. Und wenn du das mit 2 While Schleifen willst, dann musste halt $i manuell hochzählen.. MfG + Multi-Zitat Zitieren
#3 17. Februar 2011 AW: Modulo Primzahlen bis 100 Oder: PHP: $primzahlen = array(); for ( $i = 2 ; $i < 100 ; $i ++) { foreach ( $primzahlen as $primzahl ) if (!( $i % $primzahl )) continue 2 ; $primzahlen [] = $i ; } + Multi-Zitat Zitieren
#4 17. Februar 2011 AW: Modulo Primzahlen bis 100 Getestet - Funktioniert nicht - Endlosschleife. Aber danke dir trotzdem Mich wundert allerdings warum es nicht funktioniert - finde keinen Fehler :X Danke auch dir Bewertung raus, aber foreach hab ich ja noch nie verstanden, vielleicht auch weil ich es nie richtig eingesetzt habe + Multi-Zitat Zitieren
#5 17. Februar 2011 AW: Modulo Primzahlen bis 100 Es fehlt: $x++ //Edit: Scheint aber auch noch nen bisschen mehr zu fehlen.. //Edit2: Es war ++$x PHP: for( $i = 1 ; $i <= 100 ; $i ++) { $prim = true ; $x = 1 ; while (++ $x < $i ) { if( 0 == $i % $x ) { $prim = false ; break; } } if( $prim ) echo " $i ist eine Primzahl!<br>" ; else echo " $i ist keine Primzahl<br>" ; } + Multi-Zitat Zitieren
#6 17. Februar 2011 AW: Modulo Primzahlen bis 100 Dankeschön - funktioniert nun super. Danke + Multi-Zitat Zitieren
#7 17. Februar 2011 AW: Modulo Primzahlen bis 100 Foreach ist einfach zu verstehen. Es ist eine Anweisung um ein Array einmal zu durchlaufen. Bsp: Array: PHP: <? php $array = array( 'Das' , 'ist' , 'das' , 'Haus' , 'vom' , 'Nikolaus' ); for ( $i = 0 ; $i < count ( $array ); $i ++) { echo $array [ $i ] . ' ' ; } // das gleiche wie foreach ( $array as $value ) { echo $value . ' ' ; } Assoc: PHP: <? php $array = array( 'farbe' => 'rot' , 'form' => 'kugel' , 'durchmesser' => '50cm' , 'material' => 'plastik' ); $keys = array_keys ( $array ); for ( $i = 0 ; $i < count ( $keys ); $i ++) { echo $keys [ $i ] . ': ' . $array [ $keys [ $i ]] . "\n" ; } // das gleiche wie foreach ( $array as $key => $value ) { echo $key . ': ' . $value . "\n" ; //bzw.: echo $key . ': ' . $array[$key] . "\n"; } + Multi-Zitat Zitieren
#8 17. Februar 2011 AW: Modulo Primzahlen bis 100 Danke mein Freund - würde dir ja noch ne Bewertung geben aber geht nicht. Ich schau es mir mal an, wenn ich vorbereitet für die Arbeit bin + Multi-Zitat Zitieren
#9 18. Februar 2011 AW: Modulo Primzahlen bis 100 vielleicht noch interessant: bei foreach kann man auch mit referenzen arbeiten. das hat teilweise vorteile wenn man mit langen strings oder großen mehrdimensionalen arrays arbeitet, denn sonst wird eine kopie des angegebenen arrays erzeugt. PHP: $array = array ( 'foo' => array ( 'bar' => 'baz' )); foreach ( $array as & $value ) { // $value ist nun eine referenz $value [ 'bar' ] = 'qrz' ;} print $array [ 'foo' ][ 'bar' ]; // qrz meine lösung für dein problem: PHP: for( $i = 1 ; $i <= 100 ; ++ $i ) if ( isprime ( $i )) print " $i ist eine primzahl!<br />" ; function isprime ( $int ) { for ( $i = 2 , $s = sqrt ( $int ); $i <= $s ; ++ $i ) if ( 0 === ( $int % $i )) return false ; return true ;} + Multi-Zitat Zitieren
#10 23. Februar 2011 AW: Modulo Primzahlen bis 100 Das ist cool da gibts ne BW für. + Multi-Zitat Zitieren