어떤 정수 n에서 시작해, n이 짝수면 2로 나누고 ,홀수면 3을 곱한다음 1을 더한다.

이렇게 해서 새로 만들어진 숫자를 n으로 놓고, n = 1 이 될때까지 같은 작업을 계속 반복 한다.

예를 들어, n = 22이면 다음과 같은 수열이 만들어진다.

수열 : 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 이 때 사이클(길이)는 16이다.


Start와 End라는 두개의 수를 입력했을때, i와 j사이의 모든 수(i, j 포함)에 대한 최대 사이클(길이)을 구하라.


입력 예

1    10

100  200

201  210

900  1000


출력 예

1    10    20

100  200   125

201  210   89

900  1000  174





반응형

'Programming > DS & Algorithm' 카테고리의 다른 글

수식 트리(Expression Tree)의 구현  (0) 2015.06.11
이진 트리의 구현과 순회  (0) 2015.06.10
트리(Tree)의 개요  (0) 2015.06.09
하노이 타워  (0) 2015.06.08
피보나치 수열(황금비)  (0) 2015.06.07
이진탐색 알고리즘  (0) 2015.06.04
순차탐색 알고리즘  (0) 2015.06.03
스텍, 큐 구현  (0) 2015.05.27