Wie in Java mit PQ-Formel und statischen Methoden rechnen?
Guten Abend miteinander, unzwar habe ich eine Aufgabe die zu lösen ist, wobei ich leider nicht weiter komme. Die PQ-Formel habe ich hingekriegt, was jedoch mit dem "Satz von Vieta" gemeint und wie dieser anzuwenden ist, ist mir unschlüssig.
Aufgabe: Das Problem für die Lösungsberechnung der Gleichung (x^2 −3 · 10^200 x+2 = 0) ist lösbar. (Die Lösungen lauten x1 ≈ 3 · 10200 und x2 ≈ 7 · 10−201, sind also in Java darstellbar.) Wie muss man vorgehen, damit sie in Java berechnet werden? Hilfreich dazu ist der „Satz von Vieta“, insbesondere die Beziehung x1x2 = q der zwei Lösungen zu q.
Das ist was ich bisher dafür hab:
public class Bonusaufgabe { public static String rechnePQFormel(double x, double p, double q){ double x1, x2, diskriminante; diskriminante = (p/2)(p/2)-q; if (diskriminante >= 0) { x1 = (-p/2) + Math.sqrt((p/2)(p/2)-q); x2 = (-p/2) - Math.sqrt((p/2)(p/2)-q); if (x1==x2) { return "Die Lösungsmenge der PQ-Formel ist L={"+x2+"}";
} else { return "Die Lösungsmenge der PQ-Formel ist L={"+x1+"; "+x2+"}"; } } else { return "Keine Lösung da die Diskriminante "+diskriminante+" ist!"; } // end of if-else } public static String rechneSatzVonVieta(double x, double p, double q){ x1 = -1(p+q); x2 = p*q; }
public static void main(String[] args){
} }
PS. weiß leider nicht wie ich mein Programm hier schön einfügen kann, deshalb nochmal als Bild angehangen.
2 Antworten
Du benutzt den Satz von Vieta falsch...
Der Satz sagt aus:
x1 + x2 = -p x1 * x2 = q
Du benutzt stattdessen:
x1 = -1 + (p+q) x2 = p * q
Schau dir nochmal den Satz und seinen Beweis an:
https://de.wikipedia.org/wiki/Satzgruppe_von_Vieta
Satz von Vieta: http://www.mathebibel.de/satz-von-vieta
Die Wurzelberechnung könntest du noch in eine Variable schreiben, die dann für den positiven und negativen Fall genutzt wird. Dann muss das Programm nicht zweimal das Gleiche (die Wurzel) rechnen.