Open In App

Calculate the Discriminant Value

Last Updated : 17 Feb, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

In algebra, Discriminant helps us deduce various properties of the roots of a polynomial or polynomial function without even computing them. Let's look at this general quadratic polynomial of degree two: 
 

ax^2+bx+c


Here the discriminant of the equation is calculated using the formula: 
 

b^2-4ac 


Now we can deduce the following properties: 
 

  • If the discriminant is equal to zero then the polynomial has equal roots i.e., a=b.
  • If the discriminant is positive and the coefficients are real, then the polynomial has two real roots.


Here are a few conditions that we must keep in mind while programming and making deductions from the discriminant: 
 

  • If the discriminant is equal to zero then one solution is possible.
  • If the discriminant is positive then two solutions are possible.
  • If the discriminant is negative then no real solutions are possible.


Examples: 
 

Input:
a = 20
b = 30
c = 10
Explanation:
(30**2) - (4*20*10) 
Output:
Discriminant is 100 which is positive
Hence Two solutions

Input:
a = 9
b = 7
c = 12
Explanation:
(30**2) - (4*20*10) 
Output:
Discriminant is -383 which is negative
Hence no real solutions


 


 

C++
// CPP program to calculate Discriminant
#include <bits/stdc++.h>

using namespace std;

void discriminant(int a, int b, int c){

    int discriminant = (b*b) - (4*a*c);
    if(discriminant > 0){
        cout<<"Discriminant is "<<discriminant
            <<" which is Positive"<<endl;
            
        cout<<"Hence Two Solutions";
    }
    else if(discriminant == 0){
        cout<<"Discriminant is "<<discriminant
            <<" which is Zero"<<endl;
            
        cout<<"Hence One Solution";
    }
    else if(discriminant < 0){
        cout<<"Discriminant is "<<discriminant
            <<" which is Negative"<<endl;
            
        cout<<"Hence No Real Solutions";
    }
}

// Driver Code
int main(){
    int a = 20, b = 30, c = 10;

    // function call to print discriminant
    discriminant(a, b, c);
    return 0;
}

// This code is contributed by
// Sanjit_Prasad
Java
// Java program to calculate discriminant
public class Discriminant{
    
    // function to calculate discriminant
    static int disc(int a, int b, int c){
        int dis = (int)Math.pow(b,2) - (4*a*c);
        return dis;
    }

    // Driver Code
    public static void main(String args[]){
        int a=20;
        int b=30;
        int c=10;
        int discriminant = disc(a, b, c);
        if (discriminant > 0){
            System.out.println("Discriminant is " + discriminant 
                    + " which is Positive");
            System.out.println("Hence Two Solutions");
        }
        else if (discriminant == 0){
            System.out.println("Discriminant is " + discriminant
                    + " which is Zero");
            System.out.println("Hence One Solution");
        }
        else {
            System.out.println("Discriminant is "+ discriminant 
                    + " which is Negative");
            System.out.println("Hence No Real Solutions");
        }
    }
}
Python3
# Python program to calculate Discriminant

def discriminant(a, b, c):

    discriminant = (b**2) - (4*a*c)
    if discriminant > 0:
        
        print('Discriminant is', discriminant,
                "which is Positive")
                
        print('Hence Two Solutions')
        
    elif discriminant == 0:
        
        print('Discriminant is', discriminant, 
                "which is Zero")
                
        print('Hence One Solution')
        
    elif discriminant < 0:
        
        print('Discriminant is', discriminant, 
                "which is Negative")
                
        print('Hence No Real Solutions')

# Driver Code
a = 20
b = 30
c = 10
discriminant(a, b, c)
C#
// C# program to calculate
// discriminant
using System;

class GFG
{

// function to calculate
// discriminant
static int disc(int a, 
                int b, int c)
{
    int dis = (int)Math.Pow(b, 2) - 
                    (4 * a * c);
    return dis;
}
    
// Driver Code
public static void Main()
{
    int a = 20;
    int b = 30;
    int c = 10;
    int discriminant = disc(a, b, c);
    if (discriminant > 0)
    {
        Console.WriteLine("Discriminant is " + 
                                discriminant + 
                        " which is Positive");
        Console.WriteLine("Hence Two Solutions");
    }
    
    else if (discriminant == 0)
    {
        Console.WriteLine("Discriminant is " + 
                                discriminant + 
                            " which is Zero");
        Console.WriteLine("Hence One Solution");
    }
    
    else
    {
        Console.WriteLine("Discriminant is "+ 
                            discriminant + 
                    " which is Negative");
        Console.WriteLine("Hence No Real Solutions");
    }
}
}

// This code is contributed
// by anuj_67.
PHP
<?php
// PHP program to calculate Discriminant

function discriminant($a, $b, $c)
{
    
    $discriminant = ($b * $b) - (4 * $a * $c);
    if($discriminant > 0)
    {
        echo "Discriminant is ", $discriminant, 
             " which is Positive\n";
        echo "Hence Two Solutions";
    }
    
    else if($discriminant == 0)
    { 
        echo "Discriminant is ", $discriminant, 
             " which is Zero\n"; 
        echo "Hence One Solution"; 
    } 
    
    else if($discriminant < 0)
    { 
        echo "Discriminant is ", $discriminant, 
             " which is Negative\n"; 
            
        echo "Hence No Real Solutions"; 
    } 
}

// Driver code
$a = 20;
$b = 30;
$c = 10;

// function call to print discriminant
discriminant($a, $b, $c);

// This code is contributed 
// by Shashank_Sharma
?>
JavaScript
<script>
// javascript program to calculate discriminant

    // function to calculate discriminant
    function disc(a , b , c) {
        var dis = parseInt( Math.pow(b, 2) - (4 * a * c));
        return dis;
    }

    // Driver Code
    
        var a = 20;
        var b = 30;
        var c = 10;
        var discriminant = disc(a, b, c);
        if (discriminant > 0) {
            document.write("Discriminant is " + discriminant + " which is Positive<br/>");
            document.write("Hence Two Solutions");
        } else if (discriminant == 0) {
            document.write("Discriminant is " + discriminant + " which is Zero<br/>");
            document.write("Hence One Solution");
        } else {
            document.write("Discriminant is " + discriminant + " which is Negative<br/>");
            document.write("Hence No Real Solutions");
        }

// This code is contributed by todaysgaurav 

</script>

Output: 
 

Discriminant is 100 which is Positive
Hence Two Solutions

Time Complexity: O(1) since constant operations are being performed

Auxiliary Space: O(1), since no extra space has been taken.
 


Next Article
Practice Tags :

Similar Reads