-
Notifications
You must be signed in to change notification settings - Fork 0
/
quadratic.js
37 lines (31 loc) · 1.17 KB
/
quadratic.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function quadratic(a, b, c) {
let factors = []
for(let i = (c - (Math.abs(c))); i <= Math.abs(c*2); i++) {
// console.log(i) // << COMMENT
// check if number is a factor // << COMMENT
if(c % i == 0) {
if(i+(c/i) == b){
factors.push(['+ '+i,'+ '+(c/i)])
}else if(-i-(c/i) == b){
factors.push(['- '+i,'- '+(c/i)])
}else if(-i+(c/i) == b){
factors.push(['- '+i,'- '+(c/i)])
}else if(i-(c/i) == b){
factors.push(['- '+i,'- '+(c/i)])
}
// console.log(i); // << COMMENT
}
}
console.log(factors)
if(factors.length == 0) return `no factors found`
let quaz = `(x ${factors[0][0]}) == 0 || (x ${factors[0][1]}) == 0`
return quaz
}
function parse(equ) {
let exp = equ.split("=")[0]
return [(exp.split("x")[0] == '' ? 1 : exp.split("x")[0].split(" ").join("")) - 0, exp.split("x")[1] == '' ? 1 : (exp.split("x")[1].slice(2).split(" ").join("")) - 0, (exp.split("x")[2].split(" ").join("")) - 0]
}
// example x^2 - 7x + 12 = 0 // << COMMENT
let equation = parse('x^2 + 5x + 14 = 0')
let answer = quadratic(equation[0], equation[1], equation[2])
console.log(answer)