[アルゴリズム]反転バイナリ
3459 ワード
問題)自然数nはパラメータである.nを三進法で前後に逆さまにし、それを十進法で表す数で返し、解関数を完成させる.
function solution(n) {
let answer = 0;
let n3=[];
let a=0;
while(true){
a=n%3;
n3.push(a);
n=parseInt(n/3);
if(n===0){
break;
}
}
for(let j=0; j<n3.length;j++){
answer+=(3**j)*n3[n3.length-j-1];
}
return answer;
}
まず,三振法を変えるためにwhileゲートを用いて残りの3をn 3に分ける.その後、シェアが0の場合、breakを使用してwhileゲートを終了できます.そして配列の末尾の数字に3のjを乗じて、答えを加えます.Reference
この問題について([アルゴリズム]反転バイナリ), 我々は、より多くの情報をここで見つけました https://velog.io/@judylia/알고리즘-3진법-뒤집기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol