만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

삼차방정식 풀이

시간 제한1초메모리 제한1024 MB

요약
정수 계수 삼차방정식의 세 근을 구합니다. 정수 근을 먼저 찾고, 나머지 이차방정식의 근은 sqrt 형식이나 기약분수로 출력합니다.
난이도

보통10점 중 4점

유형
완전 탐색, 수학
정답자
아직 제출이 없습니다

문제

x1x_1, x2x_2, x3x_3가 삼차방정식 x3+bx2+cx+d=0x^3 + bx^2 + cx + d = 0의 해이면

x3+bx2+cx+d=(x−x1)(x−x2)(x−x3)x^3 + bx^2 + cx + d = (x - x_1)(x - x_2)(x - x_3)

이 성립한다.

bb, cc, dd는 절댓값이 10 00010\,000 이하인 정수이다. 이 방정식의 해 중 적어도 하나는 정수이고, 모든 해는 절댓값이 10 00010\,000 이하인 실수이다. 방정식의 해를 구하라.

입력

텍스트 파일의 한 줄에 공백으로 구분된 정수 bb, cc, dd가 주어진다.

출력

텍스트 파일의 세 줄에 방정식 x3+bx2+cx+d=0x^3 + bx^2 + cx + d = 0의 세 해를 출력한다(서로 같은 해가 있을 수 있다). 첫 번째 줄에는 반드시 정수인 해를 쓴다. 해에 제곱근이 포함되면 uu+sqrt(vv) 또는 uu-sqrt(vv) 형태로 쓴다. uu나 vv가 정수가 아니면 기약 분수 ss/tt 형태로 쓰며, ss는 음수일 수 있다. 해는 공백 없이 출력한다.

예제2

  1. 예제 1

    입력
    -6 11 -6
    
    예상 출력
    1
    2
    3
    
  2. 예제 2

    입력
    1 -6 -8
    
    예상 출력
    -2
    1/2+sqrt(17/4)
    1/2-sqrt(17/4)