これは、触発された問題13 -非繰り返しバイナリのHP CodeWarsの最近の競争を。
ランダムな10進数を考えてみましょう。
727429805944311
そしてそのバイナリ表現を見てください:
10100101011001011111110011001011101010110111110111
次に、そのバイナリ表現を、数字0と1交互のサブシーケンスに分割します。
1010 010101 10 0101 1 1 1 1 1 10 01 10 0101 1 1010101 101 1 1 1 101 1 1
そして、各サブシーケンスを10進数に変換します。
10 21 2 5 1 1 1 1 1 2 1 2 5 1 85 5 1 1 1 5 1 1
タスク
入力として単一の正の整数を取り、上記のプロセスで取得した正の整数のシーケンスを出力します。
詳細
- 入力と出力は10進数または単項でなければなりません。
- 出力の数字は、理にかなった、人間が読める形式で区切る必要があり、10進数または単項でなければなりません。空白に制限はありません。有効な出力スタイル:[1,2,3]、1 2 3、リテラル改行等、あります1\n2\n3\n
テストケース
 Input | Output
     0 | 0
     1 | 1
     2 | 2
     3 | 1 1
     4 | 2 0
     5 | 5
     6 | 1 2
     7 | 1 1 1
     8 | 2 0 0
     9 | 2 1
    10 | 10
    50 | 1 2 2
   100 | 1 2 2 0
  1000 | 1 1 1 1 10 0 0
 10000 | 2 1 1 2 0 2 0 0 0
 12914 | 1 2 2 1 1 2 2
371017 | 5 42 10 2 1
追記:出力のすべての数字は、(2^k-1)/3またはの形式である必要があり2*(2^k-1)/3ます。つまり、0 1 2 5 10 21, 42, 85, 170, ...ある、A000975 OEISインチ
|tacそれから私の答えに残ります:)