#101. 一元三次方程求解

    ID: 101 传统题 1000ms 125MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>NOIP全国联赛提高组 2001年NOIP全国联赛提高组price::0price::0

一元三次方程求解

설명

ax3+bx2+cx+d=0 과 같은 형태의 일변수 삼차방정식이 있다. 이 방정식의 각 계수(a, b, c, d는 실수)가 주어지며, 이 방정식은 서로 다른 세 개의 실근을 가지고(근의 범위는 -100에서 100 사이), 근과 근의 차이의 절댓값은 ≥ 1이라고 가정한다. 세 실근을 작은 순서대로 같은 줄에 출력하되(근과 근 사이는 공백으로 구분), 소수점 둘째 자리까지 정확하게 출력해야 한다.

힌트: 방정식 f(x)=0이라고 하자. 만약 x1 < x2이고 f(x1)*f(x2) < 0인 두 수 x1과 x2가 존재하면, (x1, x2) 사이에 반드시 하나의 근이 존재한다.


입력 형식

각 테스트 파일은 하나의 테스트 데이터만 포함한다. 각 테스트 데이터는 네 개의 실수 a, b, c, d를 입력받으며, 이는 삼차방정식의 각 계수를 나타낸다.


출력 형식

각 입력 데이터에 대해, 세 실근을 작은 순서대로 같은 줄에 출력한다(근과 근 사이는 공백으로 구분). 소수점 둘째 자리까지 출력한다.



예제

1 -5 -4 20
-2.00 2.00 5.00