devo scrivere questa formula in un mio programma:
io ho fatto così:
ma questa formula dà risultati sbagliati!codice:public static double terzoGrado(double a,double b,double c,double d){ double f=(-2*Math.pow(b,3)+9*a*b*c-27*Math.pow(a,2)*d)/(54*Math.pow(a,3)); double g=(3*a*c-Math.pow(b,2))/(9*Math.pow(a,2)); double h=b/(3*a); double risultato=(Math.pow(f+Math.sqrt(Math.pow(f,2)+Math.pow(g,3)),1/3)+Math.pow(f-Math.sqrt(Math.pow(f,2)+Math.pow(g,3)),1/3))-h; return risultato; }
Premetto che essa è la formula risolutiva delle equazioni di terzo grado,provando il codice nel main ad esempio:
dà come risultato:codice:System.out.println(terzoGrado(51,99,851,739));
1.3529411764705883
invece che:
-0.9202010552801512
data dai calcolatori matematici tipo derive o altri online
cosa e dove ho sbagliato nel codice?mi date una mano?io non riesco a trovare l'errore
grazie!


Rispondi quotando
)
