Java Syntax Homework - Problem 4. Calculate expression
Здравейте Колеги,
Прави ми впечатление, че при решението на тази задача за някой от дадените примери под условието не получавам същия output.
Примерно за следните input данни:
1.25 |
1.22 |
1.24 |
F1 result: 239530.27; F2 result: 1.00; Diff: 119764.40 |
Аз получавам:
F1 result: 239531.06; F2 result: 1.00; Diff: 119764.80
В няколкото решения от колеги предоставени последните дни, наблюдавам подобно отклонение.
По-долу е изчислението на F1, което съм имплементирал:
float resultFormulaOne = (float)Math.pow((Math.pow(a,2) + Math.pow(b,2))/(Math.pow(a,2) - Math.pow(b,2)),(a + b + c )/Math.sqrt(c));
Някой успял ли е да получи output както е в примерите към условието? Би ли споделил как го е постигнал? Предполагам е нещо свързано или с кастването или приоритет на операциите.
По - добре си използвай функцията Math.Pow, вместо a*a и b*b ., защото и аз така в началото го направих от мързел ама бягаха резултатите ..
Ок сега резултата сега е :
F1 result: 239531.06; F2 result: 1.00; Diff: 119764.79
но пак не съвпада с тоя от примерите. Защо така убягва
ето го целия код
Значи първо, не е нужно да слагаш 3 пъти скенер за всяко число.. един Scanner ти стига.. и вече си ги правиш 3-те променливи с него, и също така си смени типа данни да не е Float,а double .. и би трябвало да се оправи :)