11
新しい注文#2:私のやり方を変える
はじめに(無視してもよい) すべての正の数を規則正しい順序(1、2、3、...)で並べるのは少し退屈ですよね?そのため、すべての正の数の順列(再編成)に関する一連の課題があります。これは、このシリーズの2番目の課題です。最初の挑戦はここで見つけることができます。 この課題では、グレーコードを使用して自然数を再調整します。グレイコード、または「反射バイナリコード」は、2つの連続する値が1ビットだけ異なるような方法でのバイナリエンコーディングです。このエンコードの実用的な用途は、ロータリーエンコーダーで使用することです。したがって、「Turn My Way」を参照します。 このエンコードはある程度の自由度があることに注意してください。例えば、バイナリ1100以下の4つの可能な次のコードがある:1101 1110 1000 0100 Iが定義する理由である(nは)バイナリエンコーディングが異なるだけ一文字こと最小、以前に使用されていない値として。このシーケンスはA163252に対応します。a(n)a(n)a(n) これは「純粋なシーケンス」のチャレンジであるため、タスクは入力として特定のnに対してa (n )を出力a(n)a(n)a(n)です。ここでa (n )はA163252です。nnna(n)a(n)a(n) 仕事 整数入力nnn与えられると、整数形式(バイナリ形式ではない)でa(n)a(n)a(n)出力します。 a(n)a(n)a(n)は、a(n−1)a(n−1)a(n-1)とa(n)a(n)a(n)が2進数で書かれた場合に1ビットだけ異なるように、シーケンスの初期に発生しない最小の正の整数として定義されます。 注:ここでは、1ベースのインデックス付けが想定されています。0ベースのインデックスを使用できます。そのためa(0)=1;a(1)=3a(0)=1;a(1)=3a(0) = 1; a(1) = 3など。これを使用することを選択した場合は、回答にこれを記載してください。 テストケース Input | Output -------------- 1 | 1 5 | 4 20 | 18 50 | 48 123 | 121 1234 | 1333 3000 | 3030 …