アルゴリズム124の国

1074 ワード

問題の説明


124カ国あります124カ国では、数字は10進数ではなく、以下の独自のルールで表されています.
124カ国には自然水しか存在しない.
124カ国では、すべての数字を表すときに1,2,4しか使用されません.
たとえば、124の国で使用される数値は、次のように変換されます.
左:10進数、右:124カ国
1 1 6 14
2 2 7 21
3 4 8 22
4 11 9 24
5 12 10 41
自然数nをパラメータとして指定した場合、解関数を完了し、nを124カ国で使用した数値に置き換えた値を返します.
function solution(n) {
  let answer = ""
  const three = [4, 1, 2];

  while (n > 0) {
       answer = three[n % 3] + answer;//뒤집지 않아도 유지
      // console.log(typeof three[n%3])
      // console.log(typeof answer)
    if (n % 3 === 0) n = n / 3 - 1;
    else n = Math.floor(n / 3);
  
  }

  return answer;
}

問題を解く

  • 3アレイ法と似ていますが、残りが0の場合は例外処理が必要です!
  • 3に分け続けたのは、残りが0、1、2の3単位で、3単位ごとに変化するからです.
  • と書かれていて、ルールに従って歩いていて、残りが0なら前の2つの数字のシェアは等しくなければならないので、-1のシェアを与えるべきで、
  • の残りの部分はインデックス番号として使用されるため、3=[4,1,2]、
  • に設定される.
  • の答えに空の文字列を設定し、残りの+答えを0に設定します.(類似の3進数を表すには、最初の余剰数を最後の最後尾に、最後の余剰数を最上位に配置する必要があります)
  • の答えに空の文字列を設定したのは、string+numberが数字を文字列として認識し、文字列を追加するように計算するためです.