void solveQuadraticEquation
(double a, double b, double c){
double discriminant, root1, root2;
discriminant = b * b - 4 * a * c;
if (discriminant < 0)
printf("No roots\n");
else if (discriminant == 0){
root1 = -b/(2*a);
printf("One root: %f\n", root1);
}
else {
root1 = (-b + sqrt(discriminant))/(2*a);
root2 = (-b - sqrt(discriminant))/(2*a);
printf("Two roots: %f and %f\n",
root1, root2);
}
} | (define (solveQuadraticEquation a b c)
(let ((discriminant (- (* b b) (* 4 a c))))
(cond ((< discriminant 0)
(list))
((= discriminant 0)
(let ((root1 (/ (- b) (* 2 a))))
(list root1)))
(else
(let ((root1 (/ (+ (- b) (sqrt discriminant))
(* 2 a)))
(root2 (/ (- (- b) (sqrt discriminant))
(* 2 a))))
(list root1 root2)))))) |
void solveQuadraticEquation
(double a, double b, double c){
double discriminant = b * b - 4 * a * c;
if (discriminant < 0)
printf("No roots\n");
else if (discriminant == 0){
double root1 = -b/(2*a);
printf("One root: %f\n", root1);
}
else {
double root1 = (-b + sqrt(discriminant))/(2*a);
double root2 = (-b - sqrt(discriminant))/(2*a);
printf("Two roots: %f and %f\n",
root1, root2);
}
} | Same |