콜라츠 추측
문제정의
콜라츠 추측을 몇 번 반복해야 1이 나오는지 계산하는 문제이다. 짝수인 경우 2로 나누고, 홀수인 경우 3을 곱하고 1을 더한다. 500번을 계산해도 1이 안된다면 -1을 반환한다.
문제풀이
전체 코드는 다음과 같다. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29public class CollatzGuess {
//프로그래머스 문제풀이 level1 콜라스 추측
public static void main(String[] args)
{
int num = 6;
int answer = 0;
int cnt = 0;
long ll = num;
while(cnt <= 500)
{
if(ll == 1)
break;
else if(ll % 2 == 0)
ll /= 2;
else
ll = ll*3+1;
cnt++;
}
if(cnt <= 500)
answer = cnt;
else
answer = -1;
System.out.print(answer);
}
}