正の整数を 2進数で表現したときに、1や0が3つ以上続く部分を含む数を「三連数」と呼ぶ。
例えば下表のとおり:
| 数(2進数表示) | 三連数? |
|---|---|
| 1 | 非三連数 |
| 1001001100 | 非三連数 |
| 1000 | 三連数 |
| 111 | 三連数 |
| 110001110101 | 三連数 |
で。
入力より大きな非三連数のうち、もっとも小さいものを出力するプログラムを書け。
入力は
1441
こんな感じ。
ふつうに 10進数。
出力は、2進数にすると非三連数になる数を、10進数で。
先ほどの入力の場合、
1444
と出力すればよい。
1444
は、2進数では
10110100100
となる。
| # | 入力 | 期待 | 期待の2進数表示 |
|---|---|---|---|
| 0 |
1441
|
1444
|
10110100100 |
| 1 |
1
|
2
|
10 |
| 2 |
2
|
3
|
11 |
| 3 |
3
|
4
|
100 |
| 4 |
7
|
9
|
1001 |
| 5 |
43690
|
43691
|
1010101010101011 |
| 6 |
349525
|
349526
|
1010101010101010110 |
| 7 |
209715
|
209716
|
110011001100110100 |
| 8 |
209919
|
210066
|
110011010010010010 |
| 9 |
209664
|
209700
|
110011001100100100 |
| 10 |
65536
|
74898
|
10010010010010010 |
| 11 |
1048575
|
1198372
|
100100100100100100100 |
| 12 |
14
|
18
|
10010 |
| 13 |
13
|
18
|
10010 |
| 14 |
27
|
36
|
100100 |
| 15 |
44
|
45
|
101101 |
| 16 |
136
|
146
|
10010010 |
| 17 |
383
|
402
|
110010010 |
| 18 |
649
|
658
|
1010010010 |
| 19 |
1227
|
1228
|
10011001100 |
| 20 |
2693
|
2706
|
101010010010 |
| 21 |
4943
|
4946
|
1001101010010 |
| 22 |
9152
|
9362
|
10010010010010 |
| 23 |
8336
|
9362
|
10010010010010 |
| 24 |
36993
|
37449
|
1001001001001001 |
| 25 |
81868
|
84260
|
10100100100100100 |
| 26 |
73287
|
74898
|
10010010010010010 |
| 27 |
305901
|
305956
|
1001010101100100100 |
| 28 |
555516
|
599186
|
10010010010010010010 |
| 29 |
691590
|
692809
|
10101001001001001001 |
| 30 |
3112217
|
3295524
|
1100100100100100100100 |
| 31 |
5235890
|
5392676
|
10100100100100100100100 |
| 32 |
6804756
|
6890642
|
11010010010010010010010 |
| 33 |
13653246
|
13781284
|
110100100100100100100100 |
| 34 |
20099429
|
20099657
|
1001100101011001001001001 |
| 35 |
107304545
|
107304548
|
110011001010101011001100100 |
| 36 |
227978622
|
227978642
|
1101100101101010110110010010 |
| 37 |
380810157
|
380810386
|
10110101100101011010010010010 |
| 38 |
268435455
|
306783378
|
10010010010010010010010010010 |
| 39 |
536870912
|
613566756
|
100100100100100100100100100100 |
| 40 |
1072693248
|
1227133513
|
1001001001001001001001001001001 |