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
广告