Рубрики

Программа для нахождения корней квадратного уравнения

По заданному квадратному уравнению в виде ax 2 + bx + c найдите его корни.

Примеры :

Input  :  a = 1, b = -2, c = 1
Output :  Roots are real and same
          1

Input  :  a = 1, b = 7, c = 12
Output :  Roots are real and different
          -3, -4

Input  :  a = 1, b = 1, c = 1
Output :  Roots are complex 
          -0.5 + i1.73205
          -0.5 - i1.73205  

Ниже приведена прямая формула для нахождения корней квадратного уравнения.


Есть следующие важные случаи.


If b*b < 4*a*c, then roots are complex
(not real).
For example roots of x2 + x + 1, roots are
-0.5 + i1.73205 and -0.5 - i1.73205

If b*b == 4*a*c, then roots are real 
and both roots are same.
For example, roots of x2 - 2x + 1 are 1 and 1

If b*b > 4*a*c, then roots are real 
and different.
For example, roots of x2 - 7x - 12 are 3 and 4

Ниже приведена реализация приведенной выше формулы.

С

/ * C программа для поиска корней квадратного уравнения * /
#include<stdio.h>
#include<math.h>
#include<stdlib.h>

  

  
// Печатает корни квадратного уравнения ax * 2 + bx + x

void findRoots(int a, int b, int c)

{

    // Если a равно 0, то уравнение не является квадратичным, но

    // линейный

    if (a == 0)

    {

        printf("Invalid");

        return;

    }

  

    int d = b*b - 4*a*c;

    double sqrt_val = sqrt(abs(d));

  

    if (d > 0)

    {

        printf("Roots are real and different \n");

        printf("%f\n%f",(double)(-b + sqrt_val)/(2*a)

            , (double)(-b - sqrt_val)/(2*a));

    }

    else if (d == 0)

    {

        printf("Roots are real and same \n");

        printf("%f",-(double)b / (2*a));

    }

    else // d <0

    {

        printf("Roots are complex \n");

        printf("%f + i%f\n%f - i%f", -(double)b / (2*a),sqrt_val

            ,-(double)b / (2*a), sqrt_val);

    }

}

  
// Код драйвера

int main()

{

    int a = 1, b = -7, c = 12;

    findRoots(a, b, c);

    return 0;

}

C ++

/ * C ++ программа для поиска корней квадратного уравнения * /
#include<bits/stdc++.h>

using namespace std;

  
// Печатает корни квадратного уравнения ax * 2 + bx + x

void findRoots(int a, int b, int c)

{

     // Если a равно 0, то уравнение не является квадратичным, но

     // линейный

     if (a == 0)

     {

        cout << "Invalid";

        return;

     }

  

     int d  = b*b - 4*a*c;

     double sqrt_val = sqrt(abs(d));

  

     if (d > 0)

     {

         cout << "Roots are real and different \n";

         cout << (double)(-b + sqrt_val)/(2*a) << "\n"

              << (double)(-b - sqrt_val)/(2*a);

     }

     else if (d == 0)

     {

         cout << "Roots are real and same \n";

         cout << -(double)b / (2*a);

     }

     else // d <0

     {

         cout << "Roots are complex \n";

         cout << -(double)b / (2*a) << " + i" << sqrt_val

              << "\n"  << -(double)b / (2*a) << " - i"

              << sqrt_val;

     }

}

  
// Код драйвера

int main()

{

    int a = 1, b = -7, c = 12;

    findRoots(a, b, c);

    return 0;

}

Джава

// Java программа для поиска корней
// квадратного уравнения

  

import java.io.*;

import static java.lang.Math.*;

class Quadratic

{

  

    // Печатает корни квадратичной

    // уравнение топора * 2 + bx + x

    void findRoots(int a, int b, int c)

    {

     // Если а равно 0, то уравнение не

     // квадратичный, но линейный

     

     if (a == 0)

     {

        System.out.println("Invalid");

        return;

     }

   

     int d  = b*b - 4*a*c;

     double sqrt_val = sqrt(abs(d));

   

     if (d > 0)

     {

        System.out.println("Roots are real and different \n");

  

        System.out.println((double)(-b + sqrt_val) / (2 * a) + "\n" 

                            + (double)(-b - sqrt_val) / (2 * a));

     }

     else // d <0

     {

        System.out.println("Roots are complex \n");

  

        System.out.println( -(double)b / ( 2 * a ) + " + i" 

                          + sqrt_val + "\n"  + -(double)b / ( 2 * a )

                          + " - i" + sqrt_val);

     }

    }

   

 // Код драйвера

 public static void main(String args[])

    {

       Quadratic obj = new Quadratic();

       int a = 1, b = -7, c = 12;

       obj.findRoots(a, b, c);

    }

}

  
// Этот код предоставлен Аншикой Гоял.

python3

# Python программа для поиска корней
# квадратного уравнения

import math

  
# Печатает корни квадратного уравнения
# топор * 2 + бх + х

def findRoots( a, b, c):

  

    # Если а равно 0, то уравнение

    # не квадратичный, а линейный

    if a == 0:

        print("Invalid")

        return -1

    d = b * b - 4 * a * c

    sqrt_val = math.sqrt(abs(d))

      

    if d > 0:

        print("Roots are real and different ")

        print((-b + sqrt_val)/(2 * a))

        print((-b - sqrt_val)/(2 * a))

    elif d == 0:

        print("Roots are real and same")

        print(-b / (2*a))

    else: #d <0

        print("Roots are complex")

        print(- b / (2*a) , " + i", sqrt_val)

        print(- b / (2*a) , " - i", sqrt_val)

  
# Драйверная программа

a = 1

b = -7

c = 12

findRoots(a, b, c)

  
# Этот код предоставлен Sharad Bhardwaj.

C #

// C # программа для поиска корней
// квадратного уравнения

using System;

  

class Quadratic {

  
// Печатает корни квадратичной
// уравнение топора * 2 + bx + x

void findRoots(int a, int b, int c)

{

      

    // Если а равно 0, то уравнение

    // не квадратичный, а линейный

      

    if (a == 0)

    {

        Console.Write("Invalid");

        return;

    }

  

    int d = b*b - 4*a*c;

    double sqrt_val = Math.Abs(d);

  

    if (d > 0)

    {

    Console.Write("Roots are real and different \n");

  

        Console.Write((double)(-b + sqrt_val) / 

                      (2 * a) + "\n"    + (double)

                      (-b - sqrt_val) / (2 * a));

    }

      

    // d <0

    else 

    {

        Console.Write("Roots are complex \n");

  

        Console.Write( -(double)b / ( 2 * a ) + 

                    " + i" + sqrt_val + "\n" 

                       -(double)b / ( 2 * a ) + 

                            " - i" + sqrt_val);

    }

    }

  
// Код драйвера

public static void Main()

{

    Quadratic obj = new Quadratic();

    int a = 1, b = -7, c = 12;

    obj.findRoots(a, b, c);

}
}

  
// Этот код предоставлен нитин митталь.

PHP

<?php
// PHP программа для поиска корней
// квадратного уравнения

  
// Печатает корни квадратичной
// уравнение топора * 2 + bx + x

function findRoots($a, $b, $c)

{

    // Если а равно 0, то уравнение

    // не квадратичный, а линейный

    if ($a == 0)

    {

        echo "Invalid";

        return;

    }

  

    $d = $b * $b - 4 * $a * $c;

    $sqrt_val = sqrt(abs($d));

  

    if ($d > 0)

    {

        echo "Roots are real and "

                    "different \n";

        echo (-$b + $sqrt_val) / (2 * $a) , "\n"

             (-$b - $sqrt_val) / (2 * $a);

    }

    else if ($d == 0)

    {

        echo "Roots are real and same \n";

        echo -$b / (2 * $a);

    }

      

    // d <0

    else 

    {

        echo "Roots are complex \n";

        echo -$b / (2 * $a) , " + i"

              $sqrt_val, "\n" , -$b / (2 * $a), 

                             " - i", $sqrt_val;

    }

}

  
// Код драйвера

$a = 1; $b = -7 ;$c = 12;

findRoots($a, $b, $c);

  
// Этот код добавлен
// нитин митталь.
?>


Выход :

Roots are real and different 
4
3

Эта статья предоставлена Dheeraj Gupta . Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Программа для нахождения корней квадратного уравнения

0.00 (0%) 0 votes