Seite 1 von 2

wurzel per formel ziehen

Verfasst: 12.11.2006 12:29
von Ambience
könntet ihr mir helfen? ich muss für IT-Unterricht eine in php geschriebene formel schreiben, welche das wurzel ziehen ermöglich von einer bestimmten zahl.

mein script sieht so aus:

Code: Alles auswählen

<?PHP
$startwert = 119025;
$zahl1 = substr($startwert, 0, -4);
$zahl2 = substr($startwert, 2, -2);
$zahl3 = substr($startwert, 4);

echo $zahl3;
?>
und ich gehe wie hier vor: http://www.tinohempel.de/info/mathe/wurzel/wurzel.htm

allerding hänge ich bei schritt 2.. könntet ihr mir helfen, wie man soetwas reliesieren könnte?

ich darf nicht die php funktion sqrt(); benutzen

Verfasst: 12.11.2006 12:33
von mad-manne
... und du darfst die PHP-eigene Funktion fürs Wurzelziehen nicht benutzen :-?

Oder wie oder was ??
Manne.

EDIT:
Ambience hat geschrieben:ich darf nicht die php funktion sqrt(); benutzen
/me geht wohl doch besser mal 'ne neue Brille besorgen :oops:

Verfasst: 12.11.2006 12:40
von Ambience
nein leider nicht.. ich hab 6 monate zeit für diese aufgabe... was nicht heißen soll, das ihr euch 6 monate zeit mit dem helfen lassen sollt.

Re: wurzel per formel ziehen

Verfasst: 12.11.2006 12:55
von Olli Oberhausen
Ambience hat geschrieben:
ich darf nicht die php funktion sqrt(); benutzen
Dann nimm doch bcsqrt() :grin: :grin: :grin:

Vielleicht bekommst du ja extrapunkte da du sqrt nicht genommen hast und trotzdem mit einfachsten mitteln zum ergebnis gekommen bist...

bcsqrt( string Operand [, int Genauigkeit])

bcsqrt(2, 3); // 1.414

Olli

Verfasst: 12.11.2006 13:12
von Beagleman
Schritt 2 könnte man mit einer Schleife lösen.
Da $zahl1 nicht größer als 99 sein kann, kann die Zahl X, welche quadriert $zahl1 ergibt oder von unten nahe kommt nicht größer als 9 sein. Prüfe nacheinander von 9 bis 1, solange bis X quadriert nicht größer als $zahl1 ist. Dann hast du den richtigen Wert.

Verfasst: 12.11.2006 13:32
von Ambience
vielen dank

Verfasst: 12.11.2006 15:15
von Miriam
Für die Aktion ein halbes Jahr????? Wow! :)

Wie dem auch sei: Hier ist mein Ansatz ---> Lies nicht weiter, falls Du das selbst rausbekommen möchtest!










































Code: Alles auswählen

<?php
function wurzel($rek, $iter) {
         global $start, $genauigkeit, $i;
         $wert = 0.5*($start/$rek+$rek);
         if ($iter == $genauigkeit) {
              if ($i) echo $wert."i";
              else echo $wert;
         }
         else {
              $iter++;
              wurzel($wert, $iter);
         }
}

$start = $HTTP_GET_VARS['start'];
$genauigkeit = $HTTP_GET_VARS['genauigkeit'];
if ($start < 0) {
         $start = abs($start);
         $i = true;
}
wurzel($start, 0);
?>
Abspeichern als wurzel.php.
Aufruf: z.B. wurzel.php?start=625&genauigkeit=5

Es können auch quad. Wurzeln aus neg. Zahlen gezogen werden. Falls Du quad. Wurzeln aus komplexen Zahlen musst, kannst Du das auch getrennt nach Real- und Imaginärteil machen.
Bau noch ein Forumlar hinein und dann kannst Du es komfortabel nutzen. Dann musst Du allerdings GET auf POST ändern..... Aber wem sag' ich das? :D

Verfasst: 12.11.2006 15:36
von Ambience
XD ICH LIEBE DICH MIRIAM... Schonmal den halben Tag gerettet. (Aber du willst jetzt kein Kind von mir?) :D

Verfasst: 12.11.2006 15:38
von Miriam
Erst mal nicht... hab' schon 2 :D

Verfasst: 12.11.2006 15:40
von Ambience
XD ich bekomm in 3 Monaten mein erstes. Weiß aber noch nicht was "es" wird. Hoffentlich nen Knabe.