Posted on by Kalkicode
Code Number

# Find square root of quadratic equation

The given problem involves finding the square roots of a quadratic equation in the form ax^2 + bx + c = 0, where 'a', 'b', and 'c' are the coefficients of the quadratic equation and 'x' represents the unknown variable.

## Problem Statement

The task is to write a program that calculates the square roots of a given quadratic equation and displays the results. The program should handle three different cases based on the discriminant of the equation.

## Explanation with Suitable Example

Let's consider the quadratic equation: 4x^2 + 8x + 4 = 0

Here, 'a' is 4, 'b' is 8, and 'c' is 4.

## Standard Pseudocode

``````1. Start
2. Read coefficients a, b, and c
3. Calculate discriminant (D) = b^2 - 4ac
4. If D == 0, then
4.1 Calculate the single root r = -b / 2a
4.2 Print "The quadratic equation has a single real root: r"
5. Else if D > 0, then
5.1 Calculate two distinct real roots r1 = (-b + sqrt(D)) / 2a and r2 = (-b - sqrt(D)) / 2a
5.2 Print "The quadratic equation has two distinct real roots: r1 and r2"
6. Else (D < 0), then
6.1 Calculate real part r = -b / 2a and imaginary part i = sqrt(-D) / 2a
6.2 Print "The quadratic equation has two distinct complex roots: r + i and r - i"
7. End
``````

## Algorithm with Proper Explanation

1. Start the program and define the `squareRoot` function that takes three arguments 'a', 'b', and 'c'.

2. Calculate the discriminant (D) using the formula `discriminant = (b * b) - (4 * a * c)`.

3. Based on the value of the discriminant, follow these conditions:

• If the discriminant is zero, calculate the single root using `r1 = (-b) / (2 * a)` and set `r2` to the same value. This indicates two identical real roots.
• If the discriminant is positive, calculate two distinct real roots using the formulas `r1 = ((-b) + sqrt(discriminant)) / (2 * a)` and `r2 = ((-b) - sqrt(discriminant)) / (2 * a)`.
• If the discriminant is negative, calculate the real and imaginary parts separately. The real part is `r = (-b) / (2 * a)` and the imaginary part is `imaginary = sqrt(-discriminant) / (2 * a)`.
4. Print the results for each case accordingly.

5. In the `main` function, call the `squareRoot` function for three different quadratic equations.

## Code Solution

Here given code implementation process.

``````//  C program
//  Find square root of quadratic equation
#include <stdio.h>
#include <math.h>

void squareRoot(float a, float b, float c)
{

/*            _______
−b ± √b2−4ac
x = ————————————
2a
*/
// Calculate polynomial with an order of 2
// ax²+bx+c = 0

float discriminant = (b * b) - (4 * a * c);

float r1 = 0.0;
float r2 = 0.0;

// Display parameter
printf("\n Given a : %f",a);
printf("\n Given b : %f",b);
printf("\n Given c : %f",c);

if(discriminant == 0)
{
// When (b²−4ac) == 0

r1 = (-b) / (2 * a);

r2 = r1;

// Print two equal and real roots
printf("\n X =  %f ",r1);
printf("\n X =  %f ",r2);
}
else
{

if(discriminant > 0)
{
// When (b²−4ac) > 0

r1 = ((-b) + sqrt(discriminant)) / (2 * a);
r2 = ((-b) - sqrt(discriminant)) / (2 * a);

// Print two distinct and real roots
printf("\n X =  %f ",r1);
printf("\n X =  %f ",r2);
}
else
{
// (b²−4ac) < 0

float imaginary = sqrt(-discriminant) / (2 * a);

r1 = (-b) / (2 * a);
r2 = r1;
// Print two distinct complex roots
printf("\n X =  %f + %fi ",r1, imaginary);
printf("\n X =  %f - %fi ",r2, imaginary);
}
}
printf("\n");
}
int main(int argc, char
const *argv[])
{

// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4
squareRoot(4, 8, 4);

// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2
squareRoot( 7, 3, 2);

// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2
squareRoot(5, 7, 2);
return 0;
}

``````

#### Output

`````` Given a : 4.000000
Given b : 8.000000
Given c : 4.000000
X =  -1.000000
X =  -1.000000

Given a : 7.000000
Given b : 3.000000
Given c : 2.000000
X =  -0.214286 + 0.489690i
X =  -0.214286 - 0.489690i

Given a : 5.000000
Given b : 7.000000
Given c : 2.000000
X =  -0.400000
X =  -1.000000``````
``````/*
Java program
Find square root of quadratic equation
*/
{
public void squareRoot(double a, double b, double c)
{
//            _______
//      −b ± √b2−4ac
//  x = ————————————
//          2a
//
// Calculate polynomial with an order of 2
// ax²+bx+c = 0
double discriminant = (b * b) - (4 * a * c);
double r1 = 0.0;
double r2 = 0.0;
// Display parameter
System.out.print("\n Given a : " + a );
System.out.print("\n Given b : " + b );
System.out.print("\n Given c : " + c );
if (discriminant == 0)
{
// When (b²−4ac) == 0
r1 = (-b) / (2 * a);
r2 = r1;
// Print two equal and real roots
System.out.print("\n X = " + r1 );
System.out.print("\n X = " + r2 );
}
else
{
if (discriminant > 0)
{
// When (b²−4ac) > 0
r1 = ((-b) + Math.sqrt(discriminant)) / (2 * a);
r2 = ((-b) - Math.sqrt(discriminant)) / (2 * a);
// Print two distinct and real roots
System.out.print("\n X = " + r1 );
System.out.print("\n X = " + r2 );
}
else
{
// (b²−4ac) < 0
double imaginary = Math.sqrt(-discriminant) / (2 * a);
r1 = (-b) / (2 * a);
r2 = r1;
// Print two distinct complex roots
System.out.print("\n X = " + r1 + " + " + imaginary + "i ");
System.out.print("\n X = " + r2 + " - " + imaginary + "i ");
}
}
System.out.print("\n");
}
public static void main(String[] args)
{

// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4

// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2

// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2

}
}``````

#### Output

`````` Given a : 4.0
Given b : 8.0
Given c : 4.0
X = -1.0
X = -1.0

Given a : 7.0
Given b : 3.0
Given c : 2.0
X = -0.21428571428571427 + 0.48968961431436026i
X = -0.21428571428571427 - 0.48968961431436026i

Given a : 5.0
Given b : 7.0
Given c : 2.0
X = -0.4
X = -1.0``````
``````// Include header file
#include <iostream>
#include <math.h>
using namespace std;
/*
C++ program
Find square root of quadratic equation
*/
{
public: void squareRoot(double a, double b, double c)
{
//            _______
//      −b ± √b2−4ac
//  x = ————————————
//          2a
//
// Calculate polynomial with an order of 2
// ax²+bx+c = 0
double discriminant = (b *b) - (4 *a *c);
double r1 = 0.0;
double r2 = 0.0;
// Display parameter
cout << "\n Given a : " << a;
cout << "\n Given b : " << b;
cout << "\n Given c : " << c;
if (discriminant == 0)
{
// When (b²−4ac) == 0
r1 = (-b) / (2 *a);
r2 = r1;
// Print two equal and real roots
cout << "\n X = " << r1;
cout << "\n X = " << r2;
}
else
{
if (discriminant > 0)
{
// When (b²−4ac) > 0
r1 = ((-b) + sqrt(discriminant)) / (2 *a);
r2 = ((-b) - sqrt(discriminant)) / (2 *a);
// Print two distinct and real roots
cout << "\n X = " << r1;
cout << "\n X = " << r2;
}
else
{
// (b²−4ac) < 0
double imaginary = sqrt(-discriminant) / (2 *a);
r1 = (-b) / (2 *a);
r2 = r1;
// Print two distinct complex roots
cout << "\n X = " << r1 << " + " << imaginary << "i ";
cout << "\n X = " << r2 << " - " << imaginary << "i ";
}
}
cout << "\n";
}
};
int main()
{
// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4
// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2
// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2
return 0;
}``````

#### Output

`````` Given a : 4
Given b : 8
Given c : 4
X = -1
X = -1

Given a : 7
Given b : 3
Given c : 2
X = -0.214286 + 0.48969i
X = -0.214286 - 0.48969i

Given a : 5
Given b : 7
Given c : 2
X = -0.4
X = -1``````
``````// Include namespace system
using System;
using System.Collections.Generic;
/*
C# program
Find square root of quadratic equation
*/
{
public void squareRoot(double a, double b, double c)
{
//            _______
//      −b ± √b2−4ac
//  x = ————————————
//          2a
//
// Calculate polynomial with an order of 2
// ax²+bx+c = 0
double discriminant = (b * b) - (4 * a * c);
double r1 = 0.0;
double r2 = 0.0;
// Display parameter
Console.Write("\n Given a : " + a);
Console.Write("\n Given b : " + b);
Console.Write("\n Given c : " + c);
if (discriminant == 0)
{
// When (b²−4ac) == 0
r1 = (-b) / (2 * a);
r2 = r1;
// Print two equal and real roots
Console.Write("\n X = " + r1);
Console.Write("\n X = " + r2);
}
else
{
if (discriminant > 0)
{
// When (b²−4ac) > 0
r1 = ((-b) + Math.Sqrt(discriminant)) / (2 * a);
r2 = ((-b) - Math.Sqrt(discriminant)) / (2 * a);
// Print two distinct and real roots
Console.Write("\n X = " + r1);
Console.Write("\n X = " + r2);
}
else
{
// (b²−4ac) < 0
double imaginary = Math.Sqrt(-discriminant) / (2 * a);
r1 = (-b) / (2 * a);
r2 = r1;
// Print two distinct complex roots
Console.Write("\n X = " + r1 + " + " + imaginary + "i ");
Console.Write("\n X = " + r2 + " - " + imaginary + "i ");
}
}
Console.Write("\n");
}
public static void Main(String[] args)
{
// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4
// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2
// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2
}
}``````

#### Output

`````` Given a : 4
Given b : 8
Given c : 4
X = -1
X = -1

Given a : 7
Given b : 3
Given c : 2
X = -0.214285714285714 + 0.48968961431436i
X = -0.214285714285714 - 0.48968961431436i

Given a : 5
Given b : 7
Given c : 2
X = -0.4
X = -1``````
``````<?php
/*
Php program
Find square root of quadratic equation
*/
{
public	function squareRoot(\$a, \$b, \$c)
{
//            _______
//      −b ± √b2−4ac
//  x = ————————————
//          2a
//
// Calculate polynomial with an order of 2
// ax²+bx+c = 0
\$discriminant = (\$b * \$b) - (4 * \$a * \$c);
\$r1 = 0.0;
\$r2 = 0.0;
// Display parameter
echo "\n Given a : ". \$a;
echo "\n Given b : ". \$b;
echo "\n Given c : ". \$c;
if (\$discriminant == 0)
{
// When (b²−4ac) == 0
\$r1 = ((-\$b) / (2 * \$a));
\$r2 = \$r1;
// Print two equal and real roots
echo "\n X = ". \$r1;
echo "\n X = ". \$r2;
}
else
{
if (\$discriminant > 0)
{
// When (b²−4ac) > 0
\$r1 = (((-\$b) + sqrt(\$discriminant)) / (2 * \$a));
\$r2 = (((-\$b) - sqrt(\$discriminant)) / (2 * \$a));
// Print two distinct and real roots
echo "\n X = ". \$r1;
echo "\n X = ". \$r2;
}
else
{
// (b²−4ac) < 0
\$imaginary = (sqrt(-\$discriminant) / (2 * \$a));
\$r1 = ((-\$b) / (2 * \$a));
\$r2 = \$r1;
// Print two distinct complex roots
echo "\n X = ". \$r1 ." + ". \$imaginary ."i ";
echo "\n X = ". \$r2 ." - ". \$imaginary ."i ";
}
}
echo "\n";
}
}

function main()
{
// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4
// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2
// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2
}
main();``````

#### Output

`````` Given a : 4
Given b : 8
Given c : 4
X = -1
X = -1

Given a : 7
Given b : 3
Given c : 2
X = -0.21428571428571 + 0.48968961431436i
X = -0.21428571428571 - 0.48968961431436i

Given a : 5
Given b : 7
Given c : 2
X = -0.4
X = -1``````
``````/*
Node Js program
Find square root of quadratic equation
*/
{
squareRoot(a, b, c)
{
//            _______
//      −b ± √b2−4ac
//  x = ————————————
//          2a
//
// Calculate polynomial with an order of 2
// ax²+bx+c = 0
var discriminant = (b * b) - (4 * a * c);
var r1 = 0.0;
var r2 = 0.0;
// Display parameter
process.stdout.write("\n Given a : " + a);
process.stdout.write("\n Given b : " + b);
process.stdout.write("\n Given c : " + c);
if (discriminant == 0)
{
// When (b²−4ac) == 0
r1 = ((-b) / (2 * a));
r2 = r1;
// Print two equal and real roots
process.stdout.write("\n X = " + r1);
process.stdout.write("\n X = " + r2);
}
else
{
if (discriminant > 0)
{
// When (b²−4ac) > 0
r1 = ((-b) + Math.sqrt(discriminant)) / (2 * a);
r2 = ((-b) - Math.sqrt(discriminant)) / (2 * a);
// Print two distinct and real roots
process.stdout.write("\n X = " + r1);
process.stdout.write("\n X = " + r2);
}
else
{
// (b²−4ac) < 0
var imaginary = (Math.sqrt(-discriminant) / (2 * a));
r1 = ((-b) / (2 * a));
r2 = r1;
// Print two distinct complex roots
process.stdout.write("\n X = " + r1 + " + " + imaginary + "i ");
process.stdout.write("\n X = " + r2 + " - " + imaginary + "i ");
}
}
process.stdout.write("\n");
}
}

function main()
{
// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4
// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2
// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2
}
main();``````

#### Output

`````` Given a : 4
Given b : 8
Given c : 4
X = -1
X = -1

Given a : 7
Given b : 3
Given c : 2
X = -0.21428571428571427 + 0.48968961431436026i
X = -0.21428571428571427 - 0.48968961431436026i

Given a : 5
Given b : 7
Given c : 2
X = -0.4
X = -1``````
``````#   Ruby program
#   Find square root of quadratic equation

def squareRoot(a, b, c)
#             _______
#       −b ± √b2−4ac
#   x = ————————————
#           2a
#
#  Calculate polynomial with an order of 2
#  ax²+bx+c = 0
discriminant = (b * b) - (4 * a * c)
r1 = 0.0
r2 = 0.0
#  Display parameter
print("\n Given a : ", a)
print("\n Given b : ", b)
print("\n Given c : ", c)
if (discriminant == 0)
#  When (b²−4ac) == 0
r1 = (-b) / (2 * a)
r2 = r1
#  Print two equal and real roots
print("\n X = ", r1)
print("\n X = ", r2)
else
if (discriminant > 0)
#  When (b²−4ac) > 0
r1 = ((-b) + Math.sqrt(discriminant)) / (2 * a)
r2 = ((-b) - Math.sqrt(discriminant)) / (2 * a)
#  Print two distinct and real roots
print("\n X = ", r1)
print("\n X = ", r2)
else
#  (b²−4ac) < 0
imaginary = Math.sqrt(-discriminant) / (2 * a)
r1 = (-b).to_f / (2 * a)
r2 = r1
#  Print two distinct complex roots
print("\n X = ", r1 ," + ", imaginary ,"i ")
print("\n X = ", r2 ," - ", imaginary ,"i ")
end

end

print("\n")
end

end

def main()
#  Case A
#  4x²+8x+4 = 0
#  a = 4, b = 8, c = 4
#  Case B
#  7x²+3x+2 = 0
#  a = 7, b = 3, c= 2
#  Case C
#  5x²+7x+2 = 0
#  a = 5, b = 7, c = 2
end

main()``````

#### Output

`````` Given a : 4
Given b : 8
Given c : 4
X = -1
X = -1

Given a : 7
Given b : 3
Given c : 2
X = -0.21428571428571427 + 0.48968961431436026i
X = -0.21428571428571427 - 0.48968961431436026i

Given a : 5
Given b : 7
Given c : 2
X = -0.4
X = -1.0
``````
``````/*
Scala program
Find square root of quadratic equation
*/
{
def squareRoot(a: Double, b: Double, c: Double): Unit = {
//            _______
//      −b ± √b2−4ac
//  x = ————————————
//          2a
//
// Calculate polynomial with an order of 2
// ax²+bx+c = 0
var discriminant: Double = (b * b) - (4 * a * c);
var r1: Double = 0.0;
var r2: Double = 0.0;
// Display parameter
print("\n Given a : " + a);
print("\n Given b : " + b);
print("\n Given c : " + c);
if (discriminant == 0)
{
// When (b²−4ac) == 0
r1 = ((-b) / (2 * a));
r2 = r1;
// Print two equal and real roots
print("\n X = " + r1);
print("\n X = " + r2);
}
else
{
if (discriminant > 0)
{
// When (b²−4ac) > 0
r1 = (((-b) + Math.sqrt(discriminant)) / (2 * a));
r2 = (((-b) - Math.sqrt(discriminant)) / (2 * a));
// Print two distinct and real roots
print("\n X = " + r1);
print("\n X = " + r2);
}
else
{
// (b²−4ac) < 0
var imaginary: Double = (Math.sqrt(-discriminant) / (2 * a));
r1 = ((-b) / (2 * a));
r2 = r1;
// Print two distinct complex roots
print("\n X = " + r1 + " + " + imaginary + "i ");
print("\n X = " + r2 + " - " + imaginary + "i ");
}
}
print("\n");
}
}
object Main
{
def main(args: Array[String]): Unit = {
// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4
// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2
// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2
}
}``````

#### Output

`````` Given a : 4.0
Given b : 8.0
Given c : 4.0
X = -1.0
X = -1.0

Given a : 7.0
Given b : 3.0
Given c : 2.0
X = -0.21428571428571427 + 0.48968961431436026i
X = -0.21428571428571427 - 0.48968961431436026i

Given a : 5.0
Given b : 7.0
Given c : 2.0
X = -0.4
X = -1.0``````
``````import Foundation
/*
Swift 4 program
Find square root of quadratic equation
*/
{
func squareRoot(_ a: Double, _ b: Double, _ c: Double)
{
//            _______
//      −b ± √b2−4ac
//  x = ————————————
//          2a
//
// Calculate polynomial with an order of 2
// ax²+bx+c = 0
let discriminant: Double = (b * b) - (4 * a * c);
var r1: Double = 0.0;
var r2: Double = 0.0;
// Display parameter
print("\n Given a : ", a, terminator: "");
print("\n Given b : ", b, terminator: "");
print("\n Given c : ", c, terminator: "");
if (discriminant == 0)
{
// When (b²−4ac) == 0
r1 = (-b) / (2 * a);
r2 = r1;
// Print two equal and real roots
print("\n X = ", r1, terminator: "");
print("\n X = ", r2, terminator: "");
}
else
{
if (discriminant > 0)
{
// When (b²−4ac) > 0
r1 = ((-b) + sqrt(discriminant)) / (2 * a);
r2 = ((-b) - sqrt(discriminant)) / (2 * a);
// Print two distinct and real roots
print("\n X = ", r1, terminator: "");
print("\n X = ", r2, terminator: "");
}
else
{
// (b²−4ac) < 0
let imaginary: Double = sqrt(-discriminant) / (2 * a);
r1 = (-b) / (2 * a);
r2 = r1;
// Print two distinct complex roots
print("\n X = ", r1 ," + ", imaginary ,"i ", terminator: "");
print("\n X = ", r2 ," - ", imaginary ,"i ", terminator: "");
}
}
print(terminator: "\n");
}
}
func main()
{
// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4
// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2
// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2
}
main();``````

#### Output

`````` Given a :  4.0
Given b :  8.0
Given c :  4.0
X =  -1.0
X =  -1.0

Given a :  7.0
Given b :  3.0
Given c :  2.0
X =  -0.214285714285714  +  0.48968961431436 i
X =  -0.214285714285714  -  0.48968961431436 i

Given a :  5.0
Given b :  7.0
Given c :  2.0
X =  -0.4
X =  -1.0``````
``````/*
Kotlin program
Find square root of quadratic equation
*/
{
fun squareRoot(a: Double, b: Double, c: Double): Unit
{
//            _______
//      −b ± √b2−4ac
//  x = ————————————
//          2a
//
// Calculate polynomial with an order of 2
// ax²+bx+c = 0
var discriminant: Double = (b * b) - (4 * a * c);
var r1: Double ;
var r2: Double ;
// Display parameter
print("\n Given a : " + a);
print("\n Given b : " + b);
print("\n Given c : " + c);
if (discriminant == 0.0)
{
// When (b²−4ac) == 0
r1 = (-b) / (2 * a);
r2 = r1;
// Print two equal and real roots
print("\n X = " + r1);
print("\n X = " + r2);
}
else
{
if (discriminant > 0)
{
// When (b²−4ac) > 0
r1 = ((-b) + Math.sqrt(discriminant)) / (2 * a);
r2 = ((-b) - Math.sqrt(discriminant)) / (2 * a);
// Print two distinct and real roots
print("\n X = " + r1);
print("\n X = " + r2);
}
else
{
// (b²−4ac) < 0
var imaginary: Double = Math.sqrt(-discriminant) / (2 * a);
r1 = (-b) / (2 * a);
r2 = r1;
// Print two distinct complex roots
print("\n X = " + r1 + " + " + imaginary + "i ");
print("\n X = " + r2 + " - " + imaginary + "i ");
}
}
print("\n");
}
}
fun main(args: Array < String > ): Unit
{
// Case A
// 4x²+8x+4 = 0
// a = 4, b = 8, c = 4
// Case B
// 7x²+3x+2 = 0
// a = 7, b = 3, c= 2
// Case C
// 5x²+7x+2 = 0
// a = 5, b = 7, c = 2
}``````

#### Output

`````` Given a : 4.0
Given b : 8.0
Given c : 4.0
X = -1.0
X = -1.0

Given a : 7.0
Given b : 3.0
Given c : 2.0
X = -0.21428571428571427 + 0.48968961431436026i
X = -0.21428571428571427 - 0.48968961431436026i

Given a : 5.0
Given b : 7.0
Given c : 2.0
X = -0.4
X = -1.0``````
``````import math

#   Python 3 program
#   Find square root of quadratic equation

def squareRoot(self, a, b, c) :
#             _______
#       −b ± √b2−4ac
#   x = ————————————
#           2a
#
#  Calculate polynomial with an order of 2
#  ax²+bx+c = 0
discriminant = (b * b) - (4 * a * c)
r1 = 0.0
r2 = 0.0
#  Display parameter
print("\n Given a : ", a, end = "")
print("\n Given b : ", b, end = "")
print("\n Given c : ", c, end = "")
if (discriminant == 0) :
#  When (b²−4ac) == 0
r1 = int((-b) / (2 * a))
r2 = r1
#  Print two equal and real roots
print("\n X = ", r1, end = "")
print("\n X = ", r2, end = "")
else :
if (discriminant > 0) :
#  When (b²−4ac) > 0
r1 = (((-b) + math.sqrt(discriminant)) / (2 * a))
r2 = (((-b) - math.sqrt(discriminant)) / (2 * a))
#  Print two distinct and real roots
print("\n X = ", r1, end = "")
print("\n X = ", r2, end = "")
else :
#  (b²−4ac) < 0
imaginary = (math.sqrt(-discriminant) / (2 * a))
r1 = ((-b) / (2 * a))
r2 = r1
#  Print two distinct complex roots
print("\n X = ", r1 ," + ", imaginary ,"i ", end = "")
print("\n X = ", r2 ," - ", imaginary ,"i ", end = "")

print(end = "\n")

def main() :
#  Case A
#  4x²+8x+4 = 0
#  a = 4, b = 8, c = 4
#  Case B
#  7x²+3x+2 = 0
#  a = 7, b = 3, c= 2
#  Case C
#  5x²+7x+2 = 0
#  a = 5, b = 7, c = 2

if __name__ == "__main__": main()``````

#### Output

`````` Given a :  4
Given b :  8
Given c :  4
X =  -1
X =  -1

Given a :  7
Given b :  3
Given c :  2
X =  -0.21428571428571427  +  0.48968961431436026 i
X =  -0.21428571428571427  -  0.48968961431436026 i

Given a :  5
Given b :  7
Given c :  2
X =  -0.4
X =  -1.0``````

## Resultant Output Explanation

Let's go through the output obtained from the given code:

1. For the quadratic equation 4x^2 + 8x + 4 = 0, the output shows:

``````Given a: 4.000000
Given b: 8.000000
Given c: 4.000000
X = -1.000000
X = -1.000000
``````

This indicates that the quadratic equation has a single real root (-1) which is repeated twice.

2. For the quadratic equation 7x^2 + 3x + 2 = 0, the output shows:

``````Given a: 7.000000
Given b: 3.000000
Given c: 2.000000
X = -0.214286 + 0.489690i
X = -0.214286 - 0.489690i
``````

This indicates that the quadratic equation has two distinct complex roots.

3. For the quadratic equation 5x^2 + 7x + 2 = 0, the output shows:

``````Given a: 5.000000
Given b: 7.000000
Given c: 2.000000
X = -0.400000
X = -1.000000
``````

This indicates that the quadratic equation has two distinct real roots.

## Time Complexity

The time complexity of the given code is O(1) because the operations performed are constant for each quadratic equation. Calculating the discriminant, finding square root, and performing arithmetic operations take constant time regardless of the values of 'a', 'b', and 'c'. As a result, the time complexity does not depend on the size of the input.

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

Categories
Relative Post