[JS Core][03. Syntax, Operators and Logic Flow]19. Quadratic equation
Това е моето решение. Пробвах доста входни варианти и ми дава точни резултати, но в judgе не ми излизат 5 - ти и 9 - ти тест.
Малко помощ? :)
Това е моето решение. Пробвах доста входни варианти и ми дава точни резултати, но в judgе не ми излизат 5 - ти и 9 - ти тест.
Малко помощ? :)
Здравей,
Не съм стигнал до задачата още, но мисля, че проблема ти е когато d === 0 в задача пише, че тогава трябва роот-а да е само един, а пък от кода ти ми се струва, че ти винаги търсиш дра роот-а а защото правиш проверка само дали D < 0.
Става въпрос за вторият пример от задачата:
The equation is: x2 - 12x + 36 = 0 a = 1; b = -12; c = 36
The discriminant is: d = b2 - 4*a*c = -12*-12 - 4*1*36 = 144 - 144 = 0
We have zero discriminant (d = 0), so the equation has only one real root:
⦁ x = -b / (2*a) = 12 / 2 = 6
The output is only one line, holding the number 6.
Би трябвало това да го има като нулев тест и той също да не ти минава.Надявам се това да ти помогне.
Две са грешките:
1. от ред 4 до ред 7 -> if (b === 0 && c === 0) -> това условие и тялото му не знам откъде са взети, но не са коректни.
2. ред 16 до ред 18, console.log(root); -> когато са два корена не трябва да са един под друг, а разделени със спейс.
Ето го коригирано: https://pastebin.com/tfsJ3E7U
Повече информация за квадратни уравнения и трите възможни варианта на корени: https://www.matematika.bg/algebra/quadratic-equation.html
Благодаря. Явно не съм разбрал как се принтира. А реда с проверката дали b === 0 && c === 0 беше там, защото си мислех, че грешката е в принтиране на "- 0" при вход 20x**2 = 0 . Виждам, че и филтера ми е излишен след като изпозвам push() . :)
Здравей,
Решавам тази задача на C#, и получавам за изход на единият от корените -0. Как мога да избегната минуса?
Благодаря!
Ето едно много по кратко решение на проблема:
https://pastebin.com/B2WsZzxU