一つの y を固定する。底が 2>1 であるからy≦log2x⟺2y≦x.また、x は整数なのでx=2y,2y+1,…,2n+1−1.その個数は 2n+1−2y 個である。したがって求める個数 N はN=y=1∑n(2n+1−2y)=n2n+1−(2n+1−2)=(n−1)2n+1+2.数え上げる領域は次のように、各高さ y で左端が 2y となる階段状である。
よって答えは(n−1)2n+1+2個である。
別解
解法2(二進区間に分ける)
方針
x を 2j≦x<2j+1 という区間に分ける。この区間では ⌊log2x⌋=j なので、各 x に対応する y の個数が一定になる。
解答
j=1,2,…,n に対して2j≦x<2j+1とする。この区間には整数 x が 2j 個あり、各 x についてy=1,2,…,jの j 個が条件を満たす。したがって求める個数はN=j=1∑nj2jである。
この和を N とおいて2倍し、添字をずらすと2N=j=2∑n+1(j−1)2j.元の式を引けばN=n2n+1−j=1∑n2j=n2n+1−(2n+1−2)=(n−1)2n+1+2.よって答えは(n−1)2n+1+2個である。