11. Juni 200718 j Tag auch, Ich hab mir etwas Arbeit gemacht und das pascalsche Dreieck dynamisch mti PHP aufgebaut. Jetzt soll es eine funktion geben, in der alle durch x teilbare Zahlen markiert werden solen. Ab der ca. 35. Zeile markiert er aber nichts mehr, weil die Zahl für interger zu hoch ist. Hier der Link zur Page: http://pascal.topfkuchration.de Hier der Code: <? if ($pascal == "fibonacci") {include("fibonacci.php");include("bon_color.php");} $hochzahl=0; $id = 1; $wert = 1; $reihe = 1; $platz = 1; $color_i = 0; $zahl[$reihe][$platz] = $wert; if($f==0){$wert=0;} $color[0] = ($c != "" AND $zahl[$reihe][$platz]%$c == 0) ? "red" : "white"; if($pascal=="fibonacci")$color_i++; echo "<br><div align=center><table border=1><tr><td width=$a height=$b align=center><font color=$color[$color_i] size=$d>".$f*$wert."</td></tr></table>"; if($pascal=="2erPotenz"){echo "2<sup>0</sup> = 1";$hochzahl++;} if ($pascal == "fibonacci")$color_i++; if ($pascal=="multinome") {echo"(a+<sup>$hochzahl</sup>=1";$hochzahl++;} while ($platz == $reihe) { $color[0] = ($c != "" AND $zahl[$reihe][$platz]%$c == 0) ? "red" : "white"; $bin_formel = ""; $bin_i = 1; $id++; $reihe++; $platz=1; $wert=1; $zahl[$reihe][$platz] = $wert; $zahl[$reihe][0] = 0; if($f==0){$wert=0;} echo "<table border=1><tr><td width=$a height=$b align=center><font color=$color[$color_i] size=$d>".$wert*$f."</td>"; if ($pascal == "fibonacci")$color_i++; $color_i2 = $color_i; while ($platz < $reihe) { $id++; $Nreihe = $reihe; $Nreihe--; $Aplatz = $platz; $platz++; $Bplatz = $platz; $Azahl = $zahl[$Nreihe][$Aplatz]; $Bzahl= $zahl[$Nreihe][$Bplatz]; $wert = $Azahl+$Bzahl; if($Aplatz == '0' OR $Bplatz == '0') $wert=1; $zahl[$reihe][$platz] = $wert; if($f==0){$wert=0;} $color[0] = ($c != "" AND $zahl[$reihe][$platz]%$c == 0) ? "red" : "white"; echo "<td width=$a height=$b align=center><font color=".$color[$color_i2]." size=$d> ".$wert*$f." </font></td>"; if ($pascal == "fibonacci")$color_i2++; if ($pascal=="multinome") {include("multinome.php");$bin_formel .= " · ";} } echo "</tr></table>"; //2er Potenz if ($pascal=="2erPotenz")include("2erPotenz.php"); // !!--!! 2er Potenz if ($pascal=="multinome") {include("multinome.php");echo"(a+<sup>$hochzahl</sup>=$bin_formel";$hochzahl++;} if($reihe > $e) exit; } echo "</td></tr></table>"; ?>[/code] Danke für alle Hilfe die ich bekomme, halte darüber nämlcih ein Referat, evtl. morgen O.o Gruß Felix
12. Juni 200718 j Ich hab mir etwas Arbeit gemacht und das pascalsche Dreieck dynamisch mti PHP aufgebaut. Jetzt soll es eine funktion geben, in der alle durch x teilbare Zahlen markiert werden solen. Ab der ca. 35. Zeile markiert er aber nichts mehr, weil die Zahl für interger zu hoch ist. [...] Danke für alle Hilfe die ich bekomme, halte darüber nämlcih ein Referat, evtl. morgen O.o Du rechnest ja den Modulus aus um das zu erreichen, sch dir mal die Seite an: PHP: bcmod - Manual (auch das letzte Kommentar)
12. Juni 200718 j $x ist demnach die Zahl durch die dividiert werden soll und $y der divitent. Richtig? Das Ergebnis der funktion ist das Ergebnis der Aufgabe? oder TRUE / FALSE ?
13. Juni 200718 j $x ist der Divident und $y der Divisor, wobei ich mir nicht sicher bin, ob man das bei Modulus auch so nennt. Ich kann dir keine math. Regel dazu nenne, aber ein paar Stichproben zeigen, dass die Methode funktioniert (zumindest gehe ich mal davon aus jetzt). Das ganze wird so gemacht: Du nimmst eine bestimmte Anzahl an Ziffern vom Anfang deines Dividenden (die Zahl die geteilt werden soll). Diese Anzahl Ziffern bilden eine neue Zahl, die du "modulierst" (wie nennt man diesen Vorgang eigentlich?) Übrig bleibt der Rest der Division. Diesen Rest nimmst du und hängst die gleich Anzahl Ziffern vom Ursprungsdividenden ohne den schon genommenen Ziffern an. Und machst mit dieser neuen Zahl dasselbe. Am Ende bleibt ein Rest, welches der Rest der Gesamtdivision ist. Da du nur Teile der Zahl nimmst, kannst du sehr große Zahlen nehmen, nur der Modulus (Divisor) darf nicht > Int sein.
19. Juni 200718 j Das funktioniert soweit, nur leider sind immernoch fehlerhafte darstellungen da. Man betrachte sich http://pascal.topfkuchration.de/?pascal=faktorium&tab=0 und gebe die zahl 22 ein. Ganz unten im Dreieck wird es nicht mehr richtig angezeigt. Obwohl es eigentlich müsste. Aber in diesem Bereich sind wir schon bei 1.2345678E+10 oder so was in der Art. Das sind für den Computer aber ja keine richtigen Zahlen mehr (die einer-Ziffer ist eine Unbekannte) Das Referat ist im übrigen gut gelaufen. War auch nicht anders zu erwarten Felix
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.