Mit dieser Formel lässt sich bekanntlich die Lösungen einer quadratischen Gleichung ax^2+bx+c = 0 errechnen.
Wir müssen also einfach diese 3 Koeffizienten einlesen und eine Funktion schreiben, die die drei möglichen Fälle mit einer if-Verzweigung abfrägt.
function mnf($a,$b,$c){ //Der Ausdruck unter der Wurzel heißt Diskriminante und entscheidet, //ob die Gleichung 1,2 oder keine Lösung hat $diskriminante = $b*$b - 4*$a*$c; if ($diskriminante == 0) { //Eine Lösung $ergebnis = -$b/(2*$a); return $ergebnis; } else if ($diskriminante < 0 ){ //Keine Lösung return "Keine reelle Lösung"; } else if ($diskriminante > 0) { //zwei Lösungen $x_1 = (-$b + sqrt($diskriminante) ) / (2*$a); $x_2 = (-$b - sqrt($diskriminante) ) / (2*$a); $ergebnis = array($x_1,$x_2); return $ergebnis; } }
Die von PHP bereitgestellte Funktion sqrt() berechnet die Wurzel der ihr übergebenen Zahl. Hier gibt's das komplette Beispiel: mitternachtsformel.php