만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

연속한 두 소수의 곱

면접 대비

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

요약
각 질의 Z마다 Z 이하이면서 연속한 두 소수의 곱인 수 가운데 가장 큰 값을 구한다.
난이도

보통10점 중 4점

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

문제

Ada는 친구 John을 위해 비밀 선물을 하나 샀다. 선물을 열려면 John이 비밀 코드를 풀어야 한다. Ada는 John이 쉽게 풀 수 있도록 힌트를 하나 주기로 한다. Ada는 비밀 코드가 두 연속한 소수의 곱으로 만들 수 있는 수 가운데 ZZ 이하인 가장 큰 수라고 알려 준다. ZZ가 주어질 때 John이 비밀 코드를 구하도록 도와주자.

형식적으로, 소수 2, 3, 5, 7, 11, ... 의 순서를 p_1p\_1, p_2p\_2, p_3p\_3, p_4p\_4, p_5p\_5, ... 라 하자. R_iR\_i를 두 연속한 소수 p_ip\_i와 p_i+1p\_{i+1}의 곱이라 하면, 비밀 코드는 R_j≤ZR\_j \le Z를 만족하는 가장 큰 R_jR\_j이다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 다음 TT개의 줄이 이어진다.

각 줄에는 정수 ZZ가 하나씩 주어지며, 이는 Ada가 힌트로 알려 준 수이다.

출력

각 테스트 케이스마다 한 줄에 Case #x: y를 출력한다. 여기서 xx는 테스트 케이스 번호(1부터 시작)이고, yy는 비밀 코드, 즉 ZZ 이하이면서 두 연속한 소수의 곱인 가장 큰 수이다.

제한

  • 1≤T≤1001 \le T \le 100.

힌트

예제 케이스 #1에서 비밀 코드는 2021이다. 연속한 두 소수 43과 47의 곱이 정확히 2021이기 때문이다.

예제 케이스 #2에서 비밀 코드는 1763이다. 41과 43의 곱 1763은 2020보다 작지만, 43과 47의 곱은 주어진 값 2020을 넘기 때문이다.

예제1

  1. 예제 1

    입력
    2
    2021
    2020
    
    예상 출력
    Case #1: 2021
    Case #2: 1763