#include <iostream>
using namespace std;
int Answer;

int main(int argc, char** argv)
{
	int T, test_case, N;

	cin >> T;
	for(test_case = 0; test_case  < T; test_case++)
	{
		Answer = 0;
		cin >> N;
		for(int i=2; i<N; i++) {
			if(N / i == N % i) {
				Answer = i;
				break;
			}
		}
				
		cout << "Case #" << test_case+1 << endl;
		cout << Answer << endl;
	}

	return 0;
}

문제

자연수를 표시하기 위한 표기법으로는 10을 기저로 하는 10진법을 가장 많이 사용한다.
하지만, 그 이외에도 어떤 자연수이든지 기저로 하여 표현하는 것이 가능하다.
예를 들어 10을 기저로 하는 10진법에서 238로 표현되는 수가, 2를 기저로 하는 2진법에서는 11101110으로 표현된다.
그리고, 같은 수를 23진법으로 표현하면 10, 8로 표현될 것이다.
(23진법에서는 각 자리수는 10진수로 표현하고 자리수 사이를 콤마로 구분하였다.
 기저가 10 이상인 경우에만 이렇게 콤마로 구분하는 방법을 쓴다.) 

자연수 NN 이 기저 bb 에 대한 bb 진법으로 표현했을 때 모든 자리수의 값이 같게 되는 경우 NN  bb 에 대해서 “균일수”라고 부른다.
예를 들어, 10진수 36은 기저 17에 대해서 2,2로 표현되므로, 10진수 36은 17에 대해서 균일수가 되고,
10진수 36은 또한 기저 8에 대해서도 균일수가 된다. 그 이유는 10진수 36의 8진수 표현이 44이기 때문이다.
자연수 NN 이 하나 이상의 기저에 대해 균일수가 된다면, 그 기저들 중 가장 작은 값을 구하려고 한다.
극단적인 경우, 만약 b>Nb>N 이라면 NN  bb 진법으로 한자리 수가 되는데, 이 때도 균일수가 되는 것으로 간주한다.
자연수  NN 이 주어졌을 때, NN  bb 에 대해서 균일수가 되는 최소의 양의 정수 bb 를 구하는 프로그램을 작성하시오.
단, b 는 2 이상이어야 한다.


- 제한시간: 전체 테스트 케이스는 100개 이하이며, 전체 수행 시간은 1초 이내 (Java 2초 이내) 
    제한 시간을 초과하면 제출한 소스코드의 프로그램이 즉시 종료되며,
    그때까지 수행한 결과에서 테스트 케이스를 1개 그룹 이상 통과하였더라도 점수는 0점이 됩니다.
    그러나, 제한 시간을 초과하더라도 테스트 케이스를 1개 그룹 이상 통과하였다면 '부분 점수(0< 점수< 만점)'를 받을 수 있으며,
    이를 위해서는, C / C++ 에서 "printf 함수" 사용할 경우, 프로그램 시작부분에서 "setbuf(stdout, NULL);"를 한번만 사용하십시오.
    C++에서는 "setbuf(stdout, NULL);"와 "printf 함수" 대신 "cout"를 사용하고, Java에서는 "System.out.printIn"을 사용하시면,
    제한 시간을 초과하더라도 '부분 점수'를 받을 수 있습니다.                                     ※ 언어별 기본 제공 소스코드 내용 참고
    만약, 제한 시간을 초과하지 않았는데도 '부분 점수'를 받았다면, 일부 테스트 케이스를 통과하지 못한 경우 입니다.

- 메모리 사용 제한 : heap, global, static 총계 256MB, stack 1MB
- 제출 제한 : 최대 10회 (제출 횟수를 반영하여 순위 결정 → 동점자의 경우 제출 횟수가 적은 사람에게 높은 순위 부여)
- 점수 : 최대 10회 제출하여 취득한 각각의 점수 중에서 최대 점수

메모리 사용 제한

heap, global, static (총계) : 256MB
stack : 1MB

입력

입력 파일에는 여러 테스트 케이스가 포함될 수 있다.
파일의 첫 번째 줄에 테스트 케이스 개수를 나타내는 자연수 TT 가 주어지고,
이후 차례로 TT개의 테스트 케이스가 주어진다. ( 1T1001≤T≤100 )
두 번째 줄부터 주어지는 각각의 테스트 케이스는 자연수 NN 으로 주어진다. ( 1N1091≤N≤109 )

출력

각 테스트 케이스의 답을 순서대로 표준출력으로 출력하여야 하며, 각 테스트 케이스마다 첫 줄에 “Case #T”를 출력하여야 한다.
이때 TT는 테스트 케이스의 번호이다.
그 다음 줄에는 NN  bb 에 대해서 균일수가 되는 최소 양수 bb 를 출력한다. 단, bb 는 2이상이다.

느낀 점

i를 계속 증가시키면서 해당수가 균일수에 해당되는지 확인하면 되는 문제라 쉬운편에 속했다.

출처

[SCPC 예선]

+ Recent posts