仕事
バイナリ表現に1
、少なくとも1つで区切られた2つ以上の実行が含まれるように、数値のセットを見つけます0
。
たとえば、4ビット長の数値の場合:
0 0000 (no ones)
1 0001 (only one run)
2 0010 (only one run)
3 0011 (only one run)
4 0100 (only one run)
5 0101 Valid
6 0110 (only one run)
7 0111 (only one run)
8 1000 (only one run)
9 1001 Valid
10 1010 Valid
11 1011 Valid
12 1100 (only one run)
13 1101 Valid
14 1110 (only one run)
15 1111 (only one run)
入力
範囲内の何らかの入力を介してアプリケーションに提供される整数3 .. 32
。これは、カウントアップする最大ビット数を表します。
の入力はn
、数字を調べる必要があることを示します。0 .. 2n-1
出力
基準を満たすすべての番号の区切り(選択)リスト。番号は数字順に表示されます。追加の末尾の区切り文字を使用できます。データ構造のエンクロージャー([]
および同様のもの)も使用できます。
例
Input: 3
Output: 5
Input: 4
Output: 5, 9, 10, 11, 13
Input: 5
Output: 5, 9, 10, 11, 13, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29
これはコードゴルフです -バイト数が最小の答えが勝ちです。
[1, 2, 3]
か?