죄송합니다, 국장님!
면접 대비시간 제한1초메모리 제한1024 MB
2 이상 10,000 이하의 정수마다 소수인지 판별하고, 소수가 아니면 가장 가까운 소수와의 차이를 출력합니다.
문제
오루지 박사가 여러분 나이였을 때 인기 있던 TV 쇼 중 하나는 "Get Smart!"였다. 그 주인공인 비밀 요원 맥스웰 스마트에게는 자주 쓰는 대사가 몇 개 있었다. 이 문제의 제목은 그중 하나에서 가져왔고, 출력에서도 몇 개를 더 쓴다.
소수는 1보다 큰 정수이면서 약수가 1과 자기 자신뿐인 수다. 예를 들어 5, 11, 23이 소수다. 양의 정수가 주어지면, 그 수가 소수인지 아니면 소수에서 얼마나 떨어져 있는지를 알려주는 메시지를 출력한다.
입력
첫 줄에 확인할 값의 개수 ()이 주어진다. 이어서 개의 줄에 값이 한 줄에 하나씩 주어진다. 각 값은 2 이상 10,000 이하의 정수다.
출력
각 테스트 케이스의 시작마다 "Input value: v"를 출력한다. 여기서 v는 입력값이다. 다음 줄에는 아래 두 메시지 중 하나를 출력한다.
수가 소수이면 "Would you believe it; it is a prime!"를 출력한다.
수가 소수가 아니면 "Missed it by that much (d)!"를 출력한다. d는 그 수가 가장 가까운 소수와 얼마나 떨어져 있는지를 나타낸다. 가장 가까운 소수는 주어진 수보다 작을 수도 있고 클 수도 있다.
각 테스트 케이스의 출력 뒤에는 빈 줄을 하나 남긴다.