Time Limit: 1s
Memory Limit: 128MB
자연수 n을 두 제곱수의 차로 나타내려고 한다.
n = a2 - b2을 만족하는 음이 아닌 정수 a, b를 구해보자.
Line 1: 입력의 갯수 N (0 ≤ N ≤ 100000)
Line 2~N+1: 자연수 n (1 ≤ n ≤ 1000000)
Line 1~N: n=a2 - b2 를 만족하는 음이 아닌 정수 a, b 순서쌍들 중 a가 가장 작은 경우를 출력한다. 만약 두 제곱수의 차로 나타내는 것이 불가능하다면 IMPOSSIBLE을 출력한다.
5 6 24 29 25 21
IMPOSSIBLE 5 1 15 14 5 0 5 2
24=52-12=72-52=... 이고, a=5, b=1일 때 a가 가장 작다.
* withcs는 출력 결과만 가지고 채점하기 때문에 입력과 출력을 반복해도 상관없으며, 아직 배열을 배우지 않았더라도 풀 수 있다. 다음은 입력 횟수 N회 동안 a, b를 입력받고 a+b를 출력하는 코드다.
#include <stdio.h> void main(){ int N;
scanf("%d",&N); for(int i=0;i<N;i++){ int a,b;
scanf("%d %d",&a,&b); printf("%d\n",a+b); } }