[javascript-algorithm]プログラマー-コーラ推測
8966 ワード
(1)問題リンク
https://programmers.co.kr/learn/courses/30/lessons/12943
(2)解答と解説1
-問題を解く
let n = 6;
function solution1(num) {
let answer = 0;
for(let i = 0; i < 500; i++) {
if(num != 1) {
num = num % 2 == 0 ? num / 2 : num * 3 + 1;
} else {
return answer = i;
}
}
return answer = -1;
}
console.log(solution1(n)); // 8
-問題の説明
(2)問題解きと説明2
-問題を解く
function solution2(num) {
let answer = 0;
while(num !=1 && answer !=500){
num%2==0 ? num = num/2 : num = num*3 +1;
answer++;
}
return num == 1 ? answer : -1;
}
console.log(solution2(n)); // 8
-問題の説明
(2)問題解きと解説3
-問題を解く
function solution3(num,count = 0) {
return num == 1 ? (count >= 500 ? -1 : count) : solution3(num % 2 == 0 ? num / 2 : num * 3 + 1,++count);
}
console.log(solution3(n));
-問題の説明
(3)参考資料
Reference
この問題について([javascript-algorithm]プログラマー-コーラ推測), 我々は、より多くの情報をここで見つけました https://velog.io/@y_jem/알고리즘-프로그래머스-콜라츠-추측テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol