参考《算法导论(原书第三版)》第3章,向下取整与向上取整 的内容,但这里也把证明条件罗列出来。用以参考。
前置条件
推论(与本次证明无关,仅供参考):
推论表明:在长度≤1的半开半闭区间内,只有一个整数,这个整数是这个范围内所有数的(上/下)取整。
(3.4)~(3.5)的证明:
这里给出(3.4)的证明,仿照(3.4)的证明,可以给出(3.5)的证明:
当b能被k整除时,容易证明(3.4)。
当b不能被k整除时,
我们容易得到以下结论(与本次证明无关,仅供参考):
继续我们的证明:
不能只机械地理解上面的证明步骤,而是应该思考上面证明步骤的意义:如果分子/分母产生了余数,那么余数的分子肯定≤分母-1,所以在余数的分子上加上小于等于一的一个数显然不会进位。(观察这个式子:)
左右不相等的原因就是产生了进位。
(3.6)~(3.7)的证明:
这里给出(3.6)的证明,仿照(3.6)的证明,可以给出(3.7)的证明:
接下来我们探索什么时候取等号:
也就是说,当且仅当满足下列两组条件的任意一组,不等式取等号:
一:p=0且b=1;
二:p=1且b=1.
在(3.7)中,取到等号的条件如下:
p+1=b.