//lowbit运算 while(n)n-=n&-n; //-n就相当于~n+1 也就是负数在计算机存的补码 a/b向上取整可以写为(a+b-1)/b; (这里把b-1看成一个整体,因为余数是在0~b-1范围内)