헤일스톤 수열

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

요약
최대 100,000개의 시작값에 대해 콜라츠 수열을 1에 도달할 때까지 계산하고, 그 과정에서 나온 가장 큰 값을 출력한다.
난이도

쉬움10점 중 3점

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

문제

헤일스톤 수열은 다음과 같이 정의한다.

  • nn이 짝수라면 22로 나눈다.
  • nn이 홀수라면 33을 곱한 뒤 11을 더한다.

헤일스톤(콜라츠) 추측은, 임의의 양의 정수 nn에서 수열을 시작하면 항상 4,2,1,4,2,1,…4, 2, 1, 4, 2, 1, \ldots로 끝난다는 추측이다. 이 문제에서는 11이 나오는 순간 수열이 끝난 것으로 본다.

nn이 주어졌을 때, 이 수열에 나타나는 값 중 가장 큰 값을 찾아 출력하는 프로그램을 작성하시오. 시작값 nn 자신도 수열의 일부로 세므로, n=1n = 1이면 답은 11이다.

입력

첫째 줄에 테스트 케이스의 개수 TT (1≤T≤100,0001 \le T \le 100{,}000)가 주어진다. 다음 TT개의 줄에는 각각 헤일스톤 수열의 시작값 nn (1≤n≤100,0001 \le n \le 100{,}000)이 주어진다.

출력

각 테스트 케이스마다 nn에서 시작하는 헤일스톤 수열에 나타나는 값 중 가장 큰 값을 출력한다.

예제1

  1. 예제 1

    입력
    4
    1
    3
    9999
    100000
    
    예상 출력
    1
    16
    101248
    100000