1937년 Collatz란 사람에 의해 제기된 이 추축, 주어진 수가 1이 될때까지 다음 작업을 반복, 모든 수를 1로 만들 수 있다는 추축
1-1. 입력된 수가 짝수라면 2로 나누
1-2. 입려괸 수가 홀수라면 3을 곱하고 1을 더함
2.결과로 나온 수에 같은 작업을 1이 될때가지 반복
1.while문으로 반복
2.if문을 작성하여 짝수라면 2로 나누고 홀수라면 3을 곱하고 1을 더한다
3.다시 그값을 위로 보내고 반복
4.1이될 때까지 반복한다
function solution(n) {
let count = 0
while (n === 1 || count > 500) {
if (n % 2 === 0) {
n = n / 2
}
else if (n % 2 !== 0) {
n = (n * 3) + 1
}
count ++
else if (count > 500) {
return -1
}
}
return count
}
function solution(num) {
let answer = 0;
while (num !== 1) {
num % 2 ? num = num * 3 + 1 : num /2 = 2;
answer++;
if (answer >= 500) {
answer = -1;
break;
}
}
return answer
}
function collatz(num, count = 0) {
return num == 1 ? (count >= 500 ? -1: count) : collaztz(num % 2 == 0 ? num / 2: num * 3+ 1, ++count);
}