아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

삼차 방정식 풀기

시간 제한2초메모리 제한128 MB

요약
정수 계수 삼차방정식의 서로 다른 모든 실근을 오름차순으로 소수 넷째 자리까지 반올림해 출력합니다.
난이도

보통10점 중 5점

유형
수학, 정수론
정답자
아직 제출이 없습니다

문제

삼차 방정식 Ax3+Bx2+Cx+D=0Ax^3 + Bx^2 + Cx + D = 0의 실수 해를 모두 찾는 프로그램을 작성하시오.

입력으로 주어지는 방정식은 정수 해를 적어도 하나 갖는다.

AA, BB, CC, DD는 -2,000,000 이상 2,000,000 이하의 정수이고, AA는 0이 아니다. 모든 해는 -1,000,000 이상 1,000,000 이하이다. 한 방정식에서 서로 다른 두 해의 차이는 10−410^{-4}보다 크다.

입력

첫째 줄에 테스트 케이스의 개수 NN (0<N<1000 < N < 100)이 주어진다. 다음 NN개 줄에 방정식의 계수 AA, BB, CC, DD가 공백으로 구분되어 한 줄에 하나씩 주어진다.

출력

각 테스트 케이스마다 방정식의 실수 해를 모두 오름차순으로 한 줄에 출력한다. 각 해는 소수점 아래 넷째 자리까지 반올림해 적고, 해 사이는 공백 하나로 구분한다. 중근은 한 번만 출력한다. 반올림한 값이 0이면 부호 없이 0.0000으로 적는다.

소수점 다섯째 자리에서 정확히 반올림 경계에 놓이는 해는 주어지지 않으므로, 반올림 방향이 갈릴 일은 없다.

예제1

  1. 예제 1

    입력
    2
    2 -7 7 -2
    2 0 0 0
    
    예상 출력
    0.5000 1.0000 2.0000
    0.0000