[PHP] Modulo Primzahlen bis 100

Dieses Thema im Forum "Webentwicklung" wurde erstellt von joop, 17. Februar 2011 .

Schlagworte:
  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
     
  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
     
  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 ;
    }
     
  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
     
  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(
    ==  $i  $x ) {
                
    $prim  false ;
                break;                    
            }
        }
        if(
    $prim )
            echo 
    " $i  ist eine Primzahl!<br>" ;
        else
            echo 
    " $i  ist keine Primzahl<br>" ;
    }
     
  6. 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";
    }
     
  7. 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
     
  8. 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 (
    === ( $int  $i ))
                return 
    false ;
                
        return 
    true ;
    }
     
  9. 23. Februar 2011
    AW: Modulo Primzahlen bis 100

    Das ist cool da gibts ne BW für.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.