Kuupvõrrandi lahendamine

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

요약
정수 계수 b, c, d를 가진 삼차방정식에서 정수 근 하나와 절댓값 10000 이하의 실근 세 개를 정확한 형태로 구해 출력한다.
난이도

보통10점 중 7점

유형
수학, 정수론, 이분 탐색, 구현
정답자
아직 제출이 없습니다

문제

Kui x_1x\_1, x_2x\_2 ja x_3x\_3 on kuupvõrrandi x3+bx2+cx+d=0x^3 + bx^2 + cx + d = 0 lahendid, siis x3+bx2+cx+d=(x−x_1)(x−x_2)(x−x_3).x^3 + bx^2 + cx + d = (x - x\_1)(x - x\_2)(x - x\_3).

Olgu bb, cc ja dd täisarvud absoluutväärtusega kuni 10,00010\\,000 ning teada, et vähemalt üks võrrandi x3+bx2+cx+d=0x^3 + bx^2 + cx + d = 0 lahend on täisarv ja kõik lahendid on reaalarvud, mille absoluutväärtus pole suurem kui 10,00010\\,000. Leida võrrandi lahendid.

입력

Tekstifaili ainsal real on tühikutega eraldatud täisarvud bb, cc ja dd.

출력

Tekstifaili kolmele reale väljastada võrrandi x3+bx2+cx+d=0x^3 + bx^2 + cx + d = 0 kolm lahendit (mõned võivad olla omavahel võrdsed). Esimesel real peab olema täisarvuline lahend. Kui lahend sisaldab ruutjuurt, siis esitada ta kujul uu+sqrt(vv) või uu-sqrt(vv). Kui uu ja/või vv pole täisarv, siis esitada ta taandatud murruna kujul ss/tt, kus ss võib olla negatiivne. Lahendid väljastada tühikuteta.

예제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)