编程求根公式怎么输

时间:2025-01-25 06:29:59 网络游戏

求根公式用于解一元二次方程 \( ax^2 + bx + c = 0 \),其根由以下公式给出:

\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]

Python

```python

import math

def solve_quadratic(a, b, c):

discriminant = b2 - 4*a*c

if discriminant < 0:

return "方程无实根"

elif discriminant == 0:

return -b / (2*a)

else:

x1 = (-b + math.sqrt(discriminant)) / (2*a)

x2 = (-b - math.sqrt(discriminant)) / (2*a)

return x1, x2

获取用户输入

a = float(input("请输入二次项系数: "))

b = float(input("请输入一次项系数: "))

c = float(input("请输入常数项: "))

计算并输出结果

roots = solve_quadratic(a, b, c)

print("方程的根为:", roots)

```

Java

```java

import java.util.Scanner;

import java.lang.Math;

public class QuadraticSolver {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("请输入二次项系数: ");

double a = scanner.nextDouble();

System.out.print("请输入一次项系数: ");

double b = scanner.nextDouble();

System.out.print("请输入常数项: ");

double c = scanner.nextDouble();

double discriminant = b * b - 4 * a * c;

if (discriminant < 0) {

System.out.println("方程无实根");

} else if (discriminant == 0) {

System.out.println("方程有一个实根: " + (-b / (2 * a)));

} else {

double x1 = (-b + Math.sqrt(discriminant)) / (2 * a);

double x2 = (-b - Math.sqrt(discriminant)) / (2 * a);

System.out.println("方程有两个实根: " + x1 + " 和 " + x2);

}

}

}

```

C++

```cpp

include

include

int main() {

double a, b, c, discriminant, x1, x2;

std::cout << "请输入二次项系数: ";

std::cin >> a;

std::cout << "请输入一次项系数: ";

std::cin >> b;

std::cout << "请输入常数项: ";

std::cin >> c;

discriminant = b * b - 4 * a * c;

if (discriminant < 0) {

std::cout << "方程无实根" << std::endl;

} else if (discriminant == 0) {

std::cout << "方程有一个实根: " << (-b / (2 * a)) << std::endl;

} else {

x1 = (-b + std::sqrt(discriminant)) / (2 * a);

x2 = (-b - std::sqrt(discriminant)) / (2 * a);

std::cout << "方程有两个实根: " << x1 << " 和 " << x2 << std::endl;

}

return 0;

}

```

这些示例代码展示了如何在不同编程语言中实现求根公式,并处理不同的情况,包括方程无实根、有一个实根和有两个实根。用户可以根据需要选择合适的编程语言进行实现。