[プログラマー]コーラの推測


コラズの推測



コラズの推測
1つの理論は、与えられた数が1になる前に、次の操作を繰り返すと、すべての数が1になるということである.
1-1)入力した数字を偶数で割った2
1-2)入力された数字が奇数の場合は3を掛けて1を足す
2)結果値に対して同じ操作を1まで繰り返す

に答える


function solution13(n) {
  let count = 0;
  while (n !== 1) {
    if (n % 2 === 0) {
      n = n / 2;
      count++;
    } else {
      n = n * 3 + 1;
      count++;
    }
  }

  if (count > 500) {
    count = -1;
  }
  return count;
}

console.log(solution13(6)); // 8
console.log(solution13(16)); // 4
console.log(solution13(626331)); // -1