problem bei matheaufgabe

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

  • problem bei matheaufgabe

    also,
    ich ahbe zb die zahl 11 (wurzel 3,..). wenn die wurzel nicht ganzzahlig ist, wird aus elf 111, daraus dann wieder die wurzel usw.. nur das klappt irgendwie nicht
    hier mein code:
    PHP-Code:
    $wausgang1;
    $fe1;
    $f =10;
    $ende=10000;
    $i=1;

    do{

    $fe=$fe $f;
    $wausgang=$wausgang+$fe;

    $wergebnis=sqrt($wausgang);

    if(!
    is_double($wergebnis)) $i=100;

    $i++;
    }while(
    $i <= $ende);

    echo 
    $i .'<br>';
    echo 
    $wergebnis

  • #2
    wertebereich

    hilf mir mal auf die sprünge, welcher wertebereich hat den double (kann leider nichts in der doku bzw. bücher finden).

    rechnerisch funktioniert das einwandfrei, das du erst 11, 111, 1111 ... erreichst.

    wenn ich richtig vermute, das double ganzzahlen sind, dann fragst du jedesmal ab ,
    keine ganzzahl $wergebnis also setze $i auf hundert -> das endet doch in einer endlosschleife (wie gesagt, ich kenne gerade den wertebereich von double nicht).

    Welchen Fehler bzw. Ausgabe bekommst du am Schluss?

    Kommentar


    • #3
      Such doch in dem Ergebnis einen .
      Anhand diesem Punktes kannst du ja erkennen ob es nun eine ganze Zahl ist oder nicht...
      mfg
      Günni


      Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
      Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
      Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
      City-Tiger - Online durch die Straßen tigern...

      Kommentar


      • #4
        double ist eine gleitkommazahl.
        ok günni, ich werd's mal versuchen

        Kommentar


        • #5
          oder:

          if (round($zahl)!=$zahl)
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            Original geschrieben von Titus
            oder:

            if (round($zahl)!=$zahl)
            oder gleich per type cast:

            if( (int)$zahl != $zahl) )

            ist allerdings die holzhammermethode, und reichlich unsauber...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              mal ehrlich, für mich sieht das wie eine endlosschleife aus du musst 10000 nichtgleitkommazahlen in folge haben, damit deine variable $i den wert erreicht, das deine do schleife abbricht, sobald du eine gazzahl erhälst wird ja $i auf hunder gesetzt, die schleife bricht aber bei zehntausend ab, das wird nichts

              Kommentar


              • #8
                @jochenj: ja, den fehler hab ich aber schon weggemacht.

                hm, mit all euren methoden komm ich immer wieder zum gleichen ergebnis, weswegen ich langsam glaube, dass es keine rationale wurzel gibt =|

                Kommentar

                Lädt...
                X