天花板和地板之间奇怪的平等

Strange equality between ceil and floor

我将我的解决方案与另一个解决方案进行比较,发现这条不同的线一开始看起来并不相等,但实际上它们是。

所以我的问题是:这种平等怎么可能?

ceil(k / x) - 1 == floor((k - 1) / x)

这里我假设 x 是一个正整数。

有两种情况需要考虑:要么 kx 的倍数,要么不是。

kx的倍数时,则ceil(k/x) = k/x 因为 k/x 是一个整数。此外,由于 (k-1)/x < k/xk/x 是一个整数,表示 floor((k-1 )/x) 将是下一个较低的整数,即 k/x-1,等于ceil(k/x)-1.

k不是x的倍数时,则ceil(k/x) 是 k/x 四舍五入到下一个整数,并且 floor( k/x) 是 k/x 四舍五入到下一个较小的整数.显然,ceil(k/x) - 1 = floor(k/ x).由于 k 不是 x 的倍数,很明显 (k-1/x) 和 k/x 将在向下舍入到下一个较小整数时给出相同的结果;因此,ceil(k/x) - 1 = floor(k/ x) = floor((k-1)/x).

因此,这两种情况下的关系都是正确的。

如果 xk 可以是非整数则不成立:尝试 k=3, 例如 x=.01。现在 ceil(k/x) = 300, floor((k-1)/x) = 200。或者尝试 k=4.1, x=2: ceil( k/x) = 3, floor((k-1)/x) = 1.

[注意:我知道这在数学上并不严谨。]