求ax 2 +bx+c=0的根在一行给出a( =0)、b、c三个整数的值(a非如果有实数根,在一行从小到大顺序输出两个根,保留小数点后2位。如果是虚数根,输出两个-1
时间: 2024-06-01 19:11:09 浏览: 7
输入格式:
在一行中输入a、b、c的值,其间以空格分隔。
输出格式:
在一行中输出方程的根。如果方程有两个实数根,输出这两个根,保留小数点后2位;如果方程有两个复数根,则输出两个-1。
输入样例1:
1 3 -10
输出样例1:
2.00 -5.00
输入样例2:
2 2 1
输出样例2:
-1 -1
题目来源:《算法基础课题解》
算法标签:
暴力枚举,数学
时间复杂度:
本题中只有简单的数学计算和判断,时间复杂度为O(1)。
参考文献:
无
相关问题
如何写输入三个整数abc输出一元二次方程ax2+bx+c…=0的根的代码
以下是一个示例代码:
```python
import math
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))
c = int(input("请输入c的值:"))
delta = b**2 - 4*a*c
if delta < 0:
print("该方程无实数解")
elif delta == 0:
x = -b / (2*a)
print("该方程有一个实数解:x =", x)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("该方程有两个实数解:x1 =", x1, "x2 =", x2)
```
这个代码可以让用户输入三个整数a、b、c,然后计算一元二次方程ax^2 + bx + c = 0的根,并输出结果。如果方程无实数解,则输出提示信息。
求方程ax2+bx+c=0的根,用三个函数
求解一元二次方程ax²+bx+c=0的根有多种方法,其中比较常用的三个函数如下:
1. delta(a,b,c)函数:
该函数用于计算方程的判别式delta,即b²-4ac的值,然后根据delta的值判断方程的根的情况,具体实现方法如下:
```
def delta(a, b, c):
return b**2 - 4*a*c
```
2. quadratic_formula(a,b,c)函数:
该函数使用公式x1/2=(-b±√(b²-4ac))/2a求解方程的根,具体实现方法如下:
```
def quadratic_formula(a, b, c):
d = delta(a, b, c)
if d < 0:
return None
elif d == 0:
x = -b / (2*a)
return x
else:
x1 = (-b + math.sqrt(d)) / (2*a)
x2 = (-b - math.sqrt(d)) / (2*a)
return x1, x2
```
3. solve_equation(a,b,c)函数:
该函数首先判断方程是否为一元一次方程,如果不是则调用quadratic_formula(a,b,c)函数求解方程,具体实现方法如下:
```
def solve_equation(a, b, c):
if a == 0:
if b == 0:
if c == 0:
return "方程根为全体实数"
else:
return "方程无根"
else:
x = -c / b
return x
else:
return quadratic_formula(a, b, c)
```