콜라츠 추측

콜라츠 추측
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// https://programmers.co.kr/learn/courses/30/lessons/12943
function solution(num) {
let answer = 0;
let curval = num;
let i;
for (i = 0; i < 500; i++) {
console.log(i, curval);
if (curval == 1) {
break;
}
if (curval % 2 == 0) {
curval /= 2;
} else {
curval *= 3;
curval++;
}
}
answer = i == 500 ? -1 : i;
return answer;
}
result = solution(6);

해설

1-1. 입력된 수가 짝수라면 2로 나눕니다.
1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다

  • 위 과정을 반복하면 모든 수를 1로 만들 수 있다는게 콜라츠 추측..
  • 위 과정을 코드로 표현한다
Author

chinsung

Posted on

2020-09-18

Updated on

2021-08-04

Licensed under

댓글