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

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

제곱근 작도

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

요약
1e9 이하의 각 N에 대해 r^2 - a^2 = N을 만족하는 음이 아닌 정수 a, r을 찾고 a가 가장 작은 것을 출력하며, 없으면 IMPOSSIBLE을 출력한다.
난이도

보통10점 중 6점

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

문제

작도는 보통 눈금 없는 자와 컴퍼스만으로 한다. 컴퍼스가 있으므로 기준 길이(길이 11)의 임의의 정수배는 쉽게 작도할 수 있고, 더 나아가 자연수의 제곱근도 작도할 수 있다.

예를 들어 길이가 33\sqrt{33}인 선분을 작도해 보자. 먼저 수평선 위에 점 XX를 잡고, XX를 한 끝점으로 하여 수평선과 수직이고 길이가 44인 선분을 작도한다. 이 선분의 다른 끝점을 HH라고 하자. 이제 HH를 중심으로 하고 반지름이 77인 원을 그린 뒤, 이 원이 수평선과 만나는 교점 중 하나를 YY라고 하면, 피타고라스 정리에 의해 선분 XYXY의 길이는 72−42=33\sqrt{7^2 - 4^2} = \sqrt{33}이 된다.

이 방법으로 길이가 N\sqrt{N}인 선분을 작도하려고 한다. 즉, 음이 아닌 정수인 선분의 길이 aa와 원의 반지름 rr를 정하여 r2−a2=Nr^2 - a^2 = N이 되도록 해야 한다. 조건을 만족하는 (a,r)(a, r)가 여러 가지라면 선분의 길이 aa가 가장 작은 것을 사용한다. (선분의 길이 aa는 00이어도 된다.)

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 이어지는 TT개의 줄에는 각 테스트 케이스마다 정수 NN (1≤N≤1091 \le N \le 10^9)이 한 줄에 하나씩 주어진다.

출력

각 테스트 케이스마다 한 줄에 두 개의 음이 아닌 정수, 즉 선분의 길이 aa와 원의 반지름 rr를 공백으로 구분하여 출력한다. 조건을 만족하는 (a,r)(a, r)가 여러 가지라면 선분의 길이 aa가 가장 작은 경우를 출력한다. 어떤 (a,r)(a, r)로도 만들 수 없으면 IMPOSSIBLE을 출력한다.

예제1

  1. 예제 1

    입력
    4
    33
    16
    50
    101
    
    예상 출력
    4 7
    0 4
    IMPOSSIBLE
    50 51