문제2082--The Upgraded 3n+1 Problem

2082: The Upgraded 3n+1 Problem

실행시간 제한: 1 Sec  메모리사용 제한: 128 MB  Special Judge
제출: 186  통과: 77
[제출] [채점기록] [묻고답하기]

문제 설명

임의의 양의 정수 n에 대하여 그 값이 홀수이면 3n+1로 계산하고, 짝수이면 2로 나누는 과정을 결과값이 1이 될 때까지 반복할 경우 n부터 1이 될 때까지 생성된 수열의 길이(항의 개수)를 m이라고 하자.

임의의 양의 정수 i, j 가 주어질 때 i와 j 사이(i, j 포함)에 포함된 정수들 중에 m이 가장 커지는 정수값과 그 때의 m값, 그리고 m이 가장 작아지는 정수값과 그 때의 m값을 차례로 출력하는 프로그램을 작성하자.

입력 설명

첫 줄에는 테스트 케이스 수 T가 입력된다.(1 <= T <= 20) 다음 줄부터 T개의 양의 정수i, j (1 <= i, j <= 10,000) 가 입력된다.

출력 설명

입력된 각 테스트 케이스 별로 한 줄에 하나씩 m이 가장 커지는 정수값, 그 때의 m값, m이 가장 작아지는 정수값, 그 때의 m값 4개를 하나의 공백으로 구분하여 순서대로 출력한다.

입력 예시 Copy

2
10 1
100 200

출력 예시 Copy

9 20 1 1
171 125 128 8