Ankündigung

Einklappen
Keine Ankündigung bisher.

Testen, ob Zahl gerade oder ungerade

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Neon
    hat ein Thema erstellt Testen, ob Zahl gerade oder ungerade.

    Testen, ob Zahl gerade oder ungerade

    Huhu Leute,

    wollte ein Script machen, dass überprüft, ob eine Zahl gerade oder ungerade ist.

    Code:
    <? echo "Gerade oder ungerade?";
    $i=0; 
    while ($i<11 && $i%2 = 0) {
    echo "<br />" . $i;
    $i++ ; }
    ?>
    So sieht es aus, die Fehlermeldung, die ich bekomme lautet:
    Parse error: syntax error, unexpected '=' in C:\xampp\htdocs\zahlen-testen.php on line 3
    Wäre echt schön, wenn mir jemand weiterhelfen könnte, bin leider noch ein totaler Anfänger und möchte mich deshalb schon einmal entschuldigen, falls es offensichtlich ist ^^

    MfG Neon

  • pacey
    antwortet
    Wichtig ist übrigens auch, dass === eine höhere Präzedenz hat als &

    Das bedeutet (sieht man schön an Davids Beispiel), dass $i&1 geklammert werden muss.

    Gruß pacey

    Einen Kommentar schreiben:


  • David
    antwortet
    Aber die grundlegende Idee ist gut. Eigentlich brauchst man bei %2 nur das niederwertigste Bit zu prüfen. Das geht schneller als Modulo.
    PHP-Code:
    for($i=0$i<20$i++)
    {
      echo 
    $i' ' . (($i&1)==='even':'odd') . "<br />\n";

    Einen Kommentar schreiben:


  • cycap
    antwortet
    Zitat von pacey Beitrag anzeigen
    PHP-Code:
    <?php
    $i
    =122;
    $i=base_convert($i,10,2);
    echo (
    $i{strlen($i)-1}==1)?"uneven":"even";
    ?>
    wobei das die wohl unsinnigste art und weise sein dürfte wie man das überprüfen kann
    Auf was für Ideen die Leute kommen xD

    Einen Kommentar schreiben:


  • pacey
    antwortet
    PHP-Code:
    <?php
    $i
    =122;
    $i=base_convert($i,10,2);
    echo (
    $i{strlen($i)-1}==1)?"uneven":"even";
    ?>
    wobei das die wohl unsinnigste art und weise sein dürfte wie man das überprüfen kann

    Einen Kommentar schreiben:


  • keinplanvonnix
    antwortet
    Zitat von lazydog Beitrag anzeigen
    Da überprüfst du ja gerade mal die Null. Und um zu wissen ob die gerade oder ungerade ist, brauche ich kein Script.
    ich auch nicht aber dann kannst du ja auch gleich sagen dass du überhaupt kein script brauchst um zu überprüfen ob irgendeine zahl gerade oder ungerade ist

    Einen Kommentar schreiben:


  • lazydog
    antwortet
    Zitat von keinplanvonnix Beitrag anzeigen
    also ist while da überflüssig
    Da überprüfst du ja gerade mal die Null. Und um zu wissen ob die gerade oder ungerade ist, brauche ich kein Script.

    Einen Kommentar schreiben:


  • keinplanvonnix
    antwortet
    Zitat von Neon Beitrag anzeigen
    wollte ein Script machen, dass überprüft, ob eine Zahl gerade oder
    jep David, aber im grunde leigen wir beide falsch wenn man seine Aufgabe betrachtet (jaja wenn man zu schnell liest )

    also ist while da überflüssig

    PHP-Code:
     <?php
    echo "Gerade oder ungerade?<br />\n";
    $i=0
    if ( 
    $i == )
     echo 
    $i " ist gerade";
     else echo 
    $i " ist ungerade";
    ?>

    Einen Kommentar schreiben:


  • David
    antwortet
    Das bricht aber bei 1 ab, weil die while-Bedingung nicht mehr erfüllt wird.
    PHP-Code:
    <?php
    echo "Gerade oder ungerade?<br />\n";
    $i=0
    while (
    $i<11) {
     echo 
    $i . ($i%== 'gerade':'ungerade') . "<br />\n";
     
    $i++ ;
    }
    ?>

    Einen Kommentar schreiben:


  • keinplanvonnix
    antwortet
    $i%2 = 0

    dieses = ist eine Zuweisung

    du willst das ganze aber vergleichen und der vergleichsoperator ist ==
    steht doch aber auch alles in der fehlermeldung

    PHP-Code:
    <? echo "Gerade oder ungerade?";
    $i=0; 
    while ($i<11 && $i%2 == 0) {
    echo "<br />" . $i;
    $i++ ; }
    ?>

    Einen Kommentar schreiben:


  • sanz
    antwortet
    PHP-Code:
    <?php

    function GeradeZahl($Zahl)
    {
        if(
    $Zahl%!= 0)
        {
            return 
    false;
        }
        else
        {
            return 
    true;
        }
    }

    echo 
    GeradeZahl(5); //ungerade
    echo GeradeZahl(214); //gerade
    echo GeradeZahl(-59); //ungerade
    echo GeradeZahl(0); //gerade

    ?>

    Einen Kommentar schreiben:

Lädt...
X