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

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

Eeny Meeny Moo

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

요약
각 n에 대해 도시 1부터 시작하는 제거 순서에서 도시 2가 마지막에 제거되도록 하는 가장 작은 m을 구한다.
난이도

보통10점 중 5점

유형
시뮬레이션, 완전 탐색, 수학, 구현
정답자
아직 제출이 없습니다

문제

너무 많은 사람이 동시에 인터넷을 사용하면 네트워크가 아주 느려진다는 것을 경험해 본 적이 있을 것입니다.

이 문제를 해결하기 위해 울름 대학교(University of Ulm)는 부하가 몰리는 시간대에 일부 도시의 인터넷 접속을 체계적이고 공정하게 차단하는 방식을 고안했습니다. 나라의 도시들은 완전히 무작위 순서로 11번부터 nn번까지 번호가 매겨져 있습니다. 프라이부르크가 11번, 울름이 22번, 카를스루에가 33번, 이런 식입니다.

그런 다음 수 mm을 하나 고릅니다. 먼저 11번 도시의 접속을 차단하고(가장 공정한 시작점입니다), 그다음부터는 아직 연결되어 있는 도시만 세면서 nn번 다음에는 다시 11번으로 돌아오도록 순환하며 매 mm번째 도시를 차례로 차단합니다. 예를 들어 n=17n = 17, m=5m = 5이면 도시들은 [1, 6, 11, 16, 5, 12, 2, 9, 17, 10, 4, 15, 14, 3, 8, 13, 7] 순서로 차단됩니다.

가장 뛰어난 프로그래머들이 사는 울름(22번 도시)이 가장 오래 연결을 유지하는 것이 공정하므로, 22번 도시가 가장 마지막에 차단되도록 mm을 정해야 합니다.

nn이 주어졌을 때, 22번 도시가 마지막으로 차단되게 하는 가장 작은 정수 mm을 구하는 프로그램을 작성하세요.

입력

입력은 한 줄 이상으로 이루어집니다. 각 줄에는 도시의 수를 나타내는 정수 nn이 하나씩 주어지며 3≤n<1503 \le n < 150입니다. 입력은 00이 주어지는 줄로 끝나며, 이 줄은 처리하지 않습니다.

출력

각 nn에 대해, 22번 도시가 가장 마지막에 차단되게 하는 가장 작은 정수 mm을 한 줄에 하나씩 출력하세요.

예제2

  1. 예제 1

    입력
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    0
    
    예상 출력
    2
    5
    2
    4
    3
    11
    2
    3
    8
    16
    
  2. 예제 2

    입력
    3
    0
    
    예상 출력
    2