No.462

は昇順にソートしておく.

を考えたとき, となっていないときはこのコンピュータでは表せない.

の立っているビット数を 個とすると, の間の数字の組み合わせの数はこの 個のビットを順に立てる組み合わせの数なので, となる.

の前, の後はそれぞれ , とすればコードが簡単になるだろう.