C++求解二次方程解的個數的程式


在這個問題中,我們給定一個形如 ax² + bx + c 的二次方程,其中 a、b 和 c 是常數。我們的任務是建立一個C++程式來求解二次方程的解的個數。

問題描述 − 我們需要找到二次方程的解的個數,最多可以有兩個解。

讓我們來看幾個例子來理解這個問題:

示例1

輸入 − 3x2 + 7x + 4

輸出 − 2

解釋 − 方程的兩個解是1和4/3。

示例2

輸入 − x2 - 4x + 4

輸出 − 1

解釋 − 方程的解是2。

輸入 − 2x2 + 2x + 2

輸出 − 0

解釋:方程沒有實數解。

解決方案

為了求解的個數,我們需要確定二次方程解的性質,這可以透過判別式 (D) 的值來確定。

方程的根由公式給出:

= −𝑏 ± √𝑏.
D = ( (b^2) - (4*a*c) )

因此,判別式的值決定了二次方程根的個數。

  • 如果 D = 0,則解的個數為1。

  • 如果 D > 0,則解的個數為2。

  • 如果 D < 0,則解的個數為0,因為負數的平方根是虛數。

演算法

  • 步驟1 − 求 D 的值,D = ((b²) - 4*a*c)。

  • 步驟2 − if(D > 0),輸出2個解

  • 步驟3 − if(D = 0),輸出1個解

  • 步驟4 − if(D < 0),輸出0個解

示例

#include <iostream>
using namespace std;
int checkSolution(int a, int b, int c) {
   if (((b * b) - (4 * a * c)) > 0)
      return 2;
   else if (((b * b) - (4 * a * c)) == 0)
      return 1;
   else
      return 0;
}
int main() {
   int a = 2, b = 2, c = 3;
   cout<<"The quadratic equation is "<<a<<"x^2 + "<<b<<"x +
   "<<c<<" has ";
   cout<<checkSolution(a, b, c)<<" solutions ";
   return 0;
}

輸出

The quadratic equation is 2x^2 + 2x + 3 has 0 solutions

更新於:2020年10月1日

291 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.