3983解一元三次方程

3983   解一元三次方程

题目描述

课堂上,墨老师正在对学生上课:“历史上曾经出现过一个出身贫寒但却通过艰苦努力自学成才的数学家尼柯洛•冯塔纳(Niccolo Fontana),他找到了一元三次方程一般形式的求根方法并以此在几次公开的数学较量中名声大噪。不幸的是,他的研究成果引来了另一位数学家卡尔丹诺的觊觎,卡尔丹诺通过甜言蜜语和肉麻吹捧获得了冯塔纳的研究成果并据为已有,这就是‘卡尔丹诺公式’的由来。好了,故事先讲到这儿,楚继光,你来试试解一元三次方程。”

楚继光睡眼惺忪:“老师,一元钱可以解三次方程?”

墨老师怒道:“你有没有认真听我讲课啊!”

现在,不管你有没有一元钱,请你帮助解决形如ax3+bx2+cx+d=0这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d均为实数),并约定该方程存在三个不同实根(根的范围在-100至100),且根与根之差的绝对值≥1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。

输入格式:

输入文件为equation.in,包含四个实数即a、b、c、d。

输出格式:

输出文件为equation.out,为排好序的三个实根。
输入样例 复制
1 -5 -4 20
输出样例 复制
-2.00 2.00 5.00

说明

40
77
通过提交
时空限制1000ms/128mb
题目来源
评测方式在线评测
题目类型分治 枚举 二分
难        度