熙小神


私信TA

用户名:dotcpp0779479

访问量:1932

签 名:

等  级
排  名 843
经  验 3637
参赛次数 0
文章发表 97
年  龄 0
在职情况 学生
学  校 武汉理工大学
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

import cmath


def greater_p(a,b,c):

    p = b**2-4*a*c

    x1 = (-b + cmath.sqrt(p)) / (2*a)

    x2 = (-b - cmath.sqrt(p)) / (2*a)

    return x1,x2

    

def loss_p(a,b,c):

    p = b**2-4*a*c

    x1 = (-b + cmath.sqrt(p)) / (2*a)

    x2 = (-b - cmath.sqrt(p)) / (2*a)

    return x1,x2


def equal_p(a,b,c):

    x = -b/(4*a)

    return x,x


def main():

    a,b,c=map(int,input().strip().split())

    p = b**2-4*a*c

    if p > 0:

        x1,x2 = greater_p(a,b,c)

        print(f"x1={x1:.3f} x2={x2:.3f}")

    elif p == 0:

        x1,x2 = equal_p(a,b,c)

        print(f"x1={x1:.3f} x2={x2:.3f}")

    else:

        x1,x2 = loss_p(a,b,c)

        if x1.imag < 0 and x2.imag < 0:

            print(f"x1={x1.real:.3f}{x1.imag:.3f}i x2={x2.real:.3f}{x2.imag:.3f}i")

        elif x1.imag > 0 and x2.imag < 0:

            print(f"x1={x1.real:.3f}+{x1.imag:.3f}i x2={x2.real:.3f}{x2.imag:.3f}i")

        elif x1.imag > 0 and x2.imag > 0:

            print(f"x1={x1.real:.3f}+{x1.imag:.3f}i x2={x2.real:.3f}+{x2.imag:.3f}i")

        elif x1.imag < 0 and x2.imag > 0:

            print(f"x1={x1.real:.3f}{x1.imag:.3f}i x2={x2.real:.3f}+{x2.imag:.3f}i")

if __name__ == "__main__":  

    main()


 

0.0分

0 人评分

  评论区

  • «
  • »