分三种情况求解一元二次方程的根代码
时间: 2023-09-07 11:17:31 浏览: 47
以下是Python代码,用于解决一元二次方程的根,包括三种情况:
1. 两个实根
2. 一个实根
3. 两个虚根
```
import math
def quadratic_equation(a, b, c):
delta = b * b - 4 * a * c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return x1, x2
elif delta == 0:
x = -b / (2 * a)
return x
else:
real_part = -b / (2 * a)
imag_part = math.sqrt(abs(delta)) / (2 * a)
return complex(real_part, imag_part), complex(real_part, -imag_part)
```
其中,a、b、c分别为一元二次方程的系数,即ax²+bx+c=0。如果delta>0,则方程有两个实根,返回两个实数类型的根;如果delta=0,则方程有一个实根,返回一个实数类型的根;如果delta<0,则方程有两个虚根,返回两个复数类型的根。
相关问题
一元二次方程求根代码
一元二次方程求根是指解决形如ax^2 + bx + c = 0的方程,其中a、b、c为已知系数,x为未知数。下面是一个简单的求解一元二次方程根的代码示例:
```python
import math
def solve_quadratic_equation(a, b, c):
# 计算判别式
discriminant = b**2 - 4*a*c
# 判断方程有无实根
if discriminant < 0:
return "方程无实根"
elif discriminant == 0:
# 计算唯一实根
root = -b / (2*a)
return "方程有一个实根: {}".format(root)
else:
# 计算两个实根
root1 = (-b + math.sqrt(discriminant)) / (2*a)
root2 = (-b - math.sqrt(discriminant)) / (2*a)
return "方程有两个实根: {} 和 {}".format(root1, root2)
# 示例用法
a = 1
b = -3
c = 2
result = solve_quadratic_equation(a, b, c)
print(result)
```
这段代码中,`solve_quadratic_equation`函数接受三个参数a、b、c,分别代表一元二次方程的系数。首先计算判别式,然后根据判别式的值进行不同的处理:如果判别式小于0,则方程无实根;如果判别式等于0,则方程有一个实根;如果判别式大于0,则方程有两个实根。最后,返回相应的结果。
c语言求一元二次方程的根代码
以下是求解一元二次方程的根的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c; // 一元二次方程的系数
double delta, x1, x2; // delta表示判别式,x1和x2分别为一元二次方程的根
printf("请输入一元二次方程的系数:\n");
printf("a = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
delta = b * b - 4 * a * c; // 计算判别式
if (delta > 0) { // 判别式大于0,方程有两个实根
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实根:x1 = %.2lf, x2 = %.2lf\n", x1, x2);
} else if (delta == 0) { // 判别式等于0,方程有一个实根
x1 = -b / (2 * a);
printf("方程有一个实根:x = %.2lf\n", x1);
} else { // 判别式小于0,方程无实根
printf("方程无实根。\n");
}
return 0;
}
```
上述代码可以通过用户输入三个一元二次方程的系数来求解方程的根。如果判别式大于0,则方程有两个实根;如果判别式等于0,则方程有一个实根;如果判别式小于0,则方程无实根。