求一元二次方程根

2023-10-06 14:21:31 浏览数 (2)

1 问题

怎么合理结合函数,数学知识来用代码解决一元二次方程。

2 方法

一元二次方程ax2 bx c=0,a、b、c的值由用户在三行中输入,根据用户输入的数值求解方程的实数解:

如果a值 为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出Data error!

如果方程无实数解,输出“该方程无实数解”;

如果方程有两个相同的实数解,输出一个解;

如果方程有两个不同的实数解,在一行内按从大到小顺序输出方程的两个解,用空格分隔。

代码清单 1

代码语言:javascript复制
import math
a=eval(input())
b=eval(input())
c=eval(input())
if a == 0:
   if b!=0:
       x=(-c)/b
       print("{}".format(x))
   if b==0:
       print("Data error!")
else:
   if b**2-4*a*c<0:
       print("该方程无实数解")
   if b**2-4*a*c>0:
       x1=(-b math.sqrt(b**2-4*a*c))/(2*a)
       x2=(-b-math.sqrt(b**2-4*a*c))/(2*a)
       if x1>x2:
           print("{} {}".format(x1,x2))
       if x1<x2:
           print("{} {}".format(x2,x1))
   if b**2-4*a*c==0:
       x=(-b math.sqrt(b**2-4*a*c))/(2*a)
       print("{}".format(x))

3 结语

合理利用数学知识能够使代码变得更加简单。并且能够提高我们的效率。

0 人点赞