思路一样,a[i] = __lg(a[i]);这里改成while(a[i] != 1) a[i] /= 2, ++b[i];试试