Simpler Quadratic Problems with a-value of 1
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
// MathExpressions.swift
|
// MathExpressions.swift
|
||||||
// ProjectClock
|
// ProjectClock
|
||||||
//
|
//
|
||||||
// Class that will generate a simple math expression
|
// MathElement
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
@@ -118,38 +118,23 @@ let c = MathExpression.random()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class quadraticProb{
|
||||||
class QuadraticProb{
|
//generates the roots
|
||||||
|
let root1 = Int.random(in: 1...10)//ax^2
|
||||||
let a = Int.random(in: 1...10)//ax^2
|
let root2 = Int.random(in: 1...10)//bx
|
||||||
let b = Int.random(in: 1...10)//bx
|
|
||||||
let c = Int.random(in: 1...10)//c
|
|
||||||
var roots = [Int]()
|
|
||||||
|
|
||||||
|
|
||||||
func getProblem() -> String{
|
func getProblem() -> String{
|
||||||
return "\(a)x^2 + \(b)x + \(c)"
|
//a value is 1
|
||||||
|
let b = root1 + root2 // b value
|
||||||
|
let c = root1 * root2 // c value
|
||||||
|
|
||||||
|
return "x^2 + \(b)x + \(c)"
|
||||||
}
|
}
|
||||||
|
|
||||||
//finds the roots of the quadratic **NOTE**: the return type is [Int], not a String
|
//finds the roots of the quadratic **NOTE**: the return type is [Int], not a String
|
||||||
func getAnswer() -> [Int]{
|
func getAnswer() -> [Int]{
|
||||||
let d = Int(pow(Double(b), 2) - 4 * Double(a) * Double(c)) // discriminant
|
let roots = [root1, root2]
|
||||||
|
|
||||||
// if d>0 , equation has two distinct real roots exist.
|
|
||||||
if d > 0 {
|
|
||||||
let x1 = Int((-Double(b) + sqrt(Double(d)))/(2*Double(a)))
|
|
||||||
let x2 = Int((-Double(b) - sqrt(Double(d)))/(2*Double(a)))
|
|
||||||
roots = [x1, x2]
|
|
||||||
}
|
|
||||||
//if d=0, equation has two repeated real roots.
|
|
||||||
else if d == 0 {
|
|
||||||
let x = Int(-Double(b)/(2*Double(a)))
|
|
||||||
roots = [x]
|
|
||||||
}
|
|
||||||
// if d<0 equation has two complex roots, but idk how to calculate that by hand, so we'll return nothing
|
|
||||||
else if d < 0 {
|
|
||||||
roots = []
|
|
||||||
}
|
|
||||||
return roots
|
return roots
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user