어떤 정수 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 |