求根公式是解一元二次方程的方法,用于计算方程的根。一元二次方程的一般形式为ax^2 + bx + c = 0,其中a、b、c为常数,x为未知数。编程语言可以根据个人的喜好和熟悉程度来选择,如Python、C++、Java等都可以实现这个功能。
Python
```python
import math
def solve_quadratic(a, b, c):
discriminant = b 2 - 4 * a * c
if discriminant > 0:
root1 = (-b + math.sqrt(discriminant)) / (2 * a)
root2 = (-b - math.sqrt(discriminant)) / (2 * a)
return root1, root2
elif discriminant == 0:
root = -b / (2 * a)
return root,
else:
realPart = -b / (2 * a)
imaginaryPart = math.sqrt(-discriminant) / (2 * a)
return complex(realPart, imaginaryPart), complex(realPart, -imaginaryPart)
```
Java
```java
public class QuadraticEquationSolver {
public static void main(String[] args) {
double a = 1, b = -3, c = 2;
solveQuadratic(a, b, c);
}
public static void solveQuadratic(double a, double b, double c) {
double discriminant = b * b - 4 * a * c;
if (discriminant > 0) {
double root1 = (-b + Math.sqrt(discriminant)) / (2 * a);
double root2 = (-b - Math.sqrt(discriminant)) / (2 * a);
System.out.println("Root 1: " + root1);
System.out.println("Root 2: " + root2);
} else if (discriminant == 0) {
double root = -b / (2 * a);
System.out.println("Root: " + root);
} else {
double realPart = -b / (2 * a);
double imaginaryPart = Math.sqrt(-discriminant) / (2 * a);
System.out.println("Root 1: " + realPart + " + " + imaginaryPart + "i");
System.out.println("Root 2: " + realPart + " - " + imaginaryPart + "i");
}
}
}
```
C++
```cpp
include include void solveQuadratic(double a, double b, double c) { double discriminant = b * b - 4 * a * c; if (discriminant > 0) { double root1 = (-b + sqrt(discriminant)) / (2 * a); double root2 = (-b - sqrt(discriminant)) / (2 * a); std::cout << "Root 1: " << root1 << std::endl; std::cout << "Root 2: " << root2 << std::endl; } else if (discriminant == 0) { double root = -b / (2 * a); std::cout << "Root: " << root << std::endl; } else { double realPart = -b / (2 * a); double imaginaryPart = sqrt(-discriminant) / (2 * a); std::cout << "Root 1: " << realPart << " + " << imaginaryPart << "i" << std::endl; std::cout << "Root 2: " << realPart << " - " << imaginaryPart << "i" << std::endl; } } int main() { double a = 1, b = -3, c = 2; solveQuadratic(a, b, c); return 0; } ``` 这些代码示例展示了如何使用不同的编程语言来求解一元二次方程的根。你可以根据自己的需求和熟悉程度选择合适的编程语言和实现方法。