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 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告