tags: DSA Combinatorics Mathematics
写在前面
今天(2022.12.7)的lc每日一题, 虽然是中等但也有很多需要注意的点, 看到了0x3f
大佬的题解才发现自己知识点的太多不足, 比如下面这个式子:(出自具体数学练习3.12)
⌈
n
m
⌉
=
⌊
n
+
m
−
1
m
⌋
=
⌊
n
−
1
m
⌋
+
1.
\left\lceil \frac{n}{m} \right\rceil = \left\lfloor \frac{n+m-1}{m} \right\rfloor = \left\lfloor \frac{n - 1}{m} \right\rfloor + 1.
⌈mn⌉=⌊mn+m−1⌋=⌊mn−1⌋+1.
本文主要给出取整函数的一些内容, 包括几个重要的取整函数以及上下取整函数之间的关系等.
基本概念
这里的一些定义, 记号等均参考了具体数学. 如无特殊说明, 均价定 x x x 为正整数.
取整函数
- 上取整(
ceil
): ⌈ x ⌉ \lceil x\rceil ⌈x⌉, 表示大于等于 x x x的最小整数; - 下取整(
floor
): ⌊ x ⌋ \lfloor x\rfloor ⌊x⌋, 表示小于等于 x x x的最大整数; - 取整(等价于下取整): [ x ] [x] [x], 同下取整.
数的表示
设 x ∈ R x\in\mathbb R x∈R, 则
-
⌊ x ⌋ \lfloor x\rfloor ⌊x⌋表示 x x x的整数部分(integer part)
-
{ x } \{x\} {x}表示 x x x的分数部分(fractional part), (不与单元素集合混淆的情况下)
-
关系:
x = ⌊ x ⌋ + { x } ⟺ { x } = x − ⌊ x ⌋ . x=\lfloor x\rfloor+\{x\}\iff\{x\}=x-\lfloor x\rfloor. x=⌊x⌋+{x}⟺{x}=x−⌊x⌋.
取余运算
(下取整表示)设
m
,
n
∈
N
∗
m,n\in\mathbb N^*
m,n∈N∗, 则
n
=
m
⋅
⌊
n
/
m
⌋
⏟
商
+
n
m
o
d
m
⏟
余数
(1)
n=m\cdot\underbrace{\lfloor n/m \rfloor}_{\text{商}}+\underbrace{n\bmod m}_{\text{余数}}\tag{1}
n=m⋅商
⌊n/m⌋+余数
nmodm(1)
其中,
n
m
o
d
m
∈
[
0
,
m
)
n\bmod m\in[0, m)
nmodm∈[0,m).
性质
取余运算
范围
由
(
1
)
(1)
(1), 得
n
m
o
d
m
=
n
−
m
⌊
n
/
m
⌋
n\bmod m=n-m\lfloor n/m \rfloor
nmodm=n−m⌊n/m⌋
推广:(设
x
,
y
∈
R
x,y\in\mathbb R
x,y∈R)
x
m
o
d
y
=
x
−
y
⌊
x
/
y
⌋
,
y
≠
0.
x\bmod y=x-y\lfloor x/y \rfloor,\ y\ne0.
xmody=x−y⌊x/y⌋, y=0.
于是:
{
x
m
o
d
y
∈
[
0
,
y
)
,
y
>
0
x
m
o
d
y
∈
(
y
,
0
]
,
y
<
0
\begin{cases} x\bmod y\in [0,y),&y>0\\ x\bmod y\in (y,0],&y<0 \end{cases}
{xmody∈[0,y),xmody∈(y,0],y>0y<0
另外, 定义
x m o d 0 = x . (2) x\bmod 0=x.\tag{2} xmod0=x.(2)
类似, 定义一个新的运算
m
u
m
b
l
e
\rm mumble
mumble, 用上取整表示数:
x
=
y
⋅
⌈
x
/
y
⌉
−
x
m
u
m
b
l
e
y
,
y
≠
0.
x=y\cdot \lceil x/y\rceil-x\ \rm{mumble}\ y, \ y\ne0.
x=y⋅⌈x/y⌉−x mumble y, y=0.
分配律
∀
c
,
x
,
y
∈
R
\forall c,x,y\in \mathbb R
∀c,x,y∈R,
c
(
x
m
o
d
y
)
=
(
c
x
)
m
o
d
(
c
y
)
.
c(x\bmod y)=(cx)\bmod(cy).
c(xmody)=(cx)mod(cy).
证明:
∀ c y ≠ 0 \forall cy\ne0 ∀cy=0,
c ( x m o d y ) = c ( x − y ⌊ x / y ⌋ ) = c x − c y ⌊ c x / c y ⌋ = ( c x ) m o d ( c y ) . \begin{aligned} c(x\bmod y) &=c(x-y\lfloor x/y\rfloor)\\ &=cx-cy\lfloor cx/cy\rfloor\\ &=(cx)\bmod(cy). \end{aligned} c(xmody)=c(x−y⌊x/y⌋)=cx−cy⌊cx/cy⌋=(cx)mod(cy).
当 y = 0 y=0 y=0时, 根据定义 ( 2 ) (2) (2), 分配律依然成立.
数的表示
用取余重写数的表示(整数部分, 分数部分)
x
=
⌊
x
⌋
+
x
m
o
d
1.
x=\lfloor x\rfloor+x\bmod 1.
x=⌊x⌋+xmod1.
关系
幂等性
⌊ ⌊ x ⌋ ⌋ = ⌊ x ⌋ , ⌈ ⌈ x ⌉ ⌉ = ⌈ x ⌉ , { { x } } = { x } . \begin{aligned} \Big\lfloor \lfloor x \rfloor \Big\rfloor &= \lfloor x \rfloor, \\ \Big\lceil \lceil x \rceil \Big\rceil &= \lceil x \rceil, \\ \Big\{ \{ x \} \Big\} &= \{ x \}. \end{aligned} ⌊⌊x⌋⌋⌈⌈x⌉⌉{{x}}=⌊x⌋,=⌈x⌉,={x}.
并有:(只关注内层作用)
⌊
⌈
x
⌉
⌋
=
⌈
x
⌉
,
⌈
⌊
x
⌋
⌉
=
⌊
x
⌋
,
\begin{aligned} \Big\lfloor \lceil x \rceil \Big\rfloor &= \lceil x \rceil, \\ \Big\lceil \lfloor x \rfloor \Big\rceil &= \lfloor x \rfloor, \end{aligned}
⌊⌈x⌉⌋⌈⌊x⌋⌉=⌈x⌉,=⌊x⌋,
互反律
⌊ x ⌋ + ⌈ − x ⌉ = 0 , − ⌊ x ⌋ = ⌈ − x ⌉ , − ⌈ x ⌉ = ⌊ − x ⌋ . \begin{aligned} \lfloor x \rfloor +\lceil -x \rceil &= 0, \\ -\lfloor x \rfloor &= \lceil -x \rceil, \\ -\lceil x \rceil &= \lfloor -x \rfloor. \end{aligned} ⌊x⌋+⌈−x⌉−⌊x⌋−⌈x⌉=0,=⌈−x⌉,=⌊−x⌋.
并且:
⌊
x
⌋
+
⌊
−
x
⌋
=
{
0
,
若
x
∈
Z
,
−
1
,
若
x
∉
Z
,
⌈
x
⌉
+
⌈
−
x
⌉
=
{
0
,
若
x
∈
Z
,
1
,
若
x
∉
Z
.
\lfloor x \rfloor + \lfloor -x \rfloor = \begin{cases} 0,&\text{ 若 }\ x\in \mathbb{Z},\\ -1,&\text{ 若 }\ x\not\in \mathbb{Z}, \end{cases} \\[5pt] \lceil x \rceil + \lceil -x \rceil = \begin{cases} 0,&\text{ 若 }\ x\in \mathbb{Z},\\ 1,&\text{ 若 }\ x\not\in \mathbb{Z}. \end{cases}
⌊x⌋+⌊−x⌋={0,−1, 若 x∈Z, 若 x∈Z,⌈x⌉+⌈−x⌉={0,1, 若 x∈Z, 若 x∈Z.
针对小数部分(
{
x
}
=
x
−
⌊
x
⌋
\{x \} = x - \lfloor x \rfloor
{x}=x−⌊x⌋):
{
x
}
+
{
−
x
}
=
{
0
,
若
x
∈
Z
,
1
,
若
x
∉
Z
.
\{ x \} + \{ -x \} = \begin{cases} 0,&\text{ 若 }\ x\in \mathbb{Z},\\ 1,&\text{ 若 }\ x\not\in \mathbb{Z}. \end{cases}
{x}+{−x}={0,1, 若 x∈Z, 若 x∈Z.
与整数的关系
-
⌈ x ⌉ ⩾ x \lceil x\rceil\geqslant x ⌈x⌉⩾x; ⌊ x ⌋ ⩽ x \lfloor x\rfloor\leqslant x ⌊x⌋⩽x; ⌊ x ⌋ ⩽ ⌈ x ⌉ \lfloor x \rfloor \leqslant \lceil x \rceil ⌊x⌋⩽⌈x⌉.
-
⌊ x ⌋ = x ⟺ x ∈ Z ⟺ ⌈ x ⌉ = x \lfloor x\rfloor=x\iff x\in \mathbb Z\iff \lceil x\rceil=x ⌊x⌋=x⟺x∈Z⟺⌈x⌉=x;
-
If x ∉ Z x\notin \mathbb Z x∈/Z, then ⌈ x ⌉ − ⌊ x ⌋ = [ x not an integer ] = 1 \lceil x\rceil-\lfloor x\rfloor=[x\ \text{not an integer}]=1 ⌈x⌉−⌊x⌋=[x not an integer]=1.
另一种表述:
⌈ x ⌉ − ⌊ x ⌋ = [ x 是否为整数 ] = { 0 , 若 x ∈ Z , 1 , 若 x ∉ Z . \lceil x \rceil - \lfloor x \rfloor = [x\text{是否为整数}]= \begin{cases} 0,&\text{ 若 }\ x\in \mathbb{Z},\\ 1,&\text{ 若 }\ x\not\in \mathbb{Z}. \end{cases} ⌈x⌉−⌊x⌋=[x是否为整数]={0,1, 若 x∈Z, 若 x∈Z. -
x − 1 < ⌊ x ⌋ x-1<\lfloor x\rfloor x−1<⌊x⌋, x + 1 > ⌈ x ⌉ x+1>\lceil x\rceil x+1>⌈x⌉, so we have:
x − 1 < ⌊ x ⌋ ⩽ x ⩽ ⌈ x ⌉ < x + 1. x-1<\lfloor x\rfloor\leqslant x\leqslant \lceil x\rceil<x+1. x−1<⌊x⌋⩽x⩽⌈x⌉<x+1.
设
n
∈
Z
,
x
∈
R
n\in\mathbb Z,\ x\in \mathbb R
n∈Z, x∈R, 则有:
{
⌊
x
⌋
=
n
⟺
n
⩽
x
<
n
+
1
⌊
x
⌋
=
n
⟺
x
−
1
<
n
⩽
x
⌈
x
⌉
=
n
⟺
n
−
1
<
x
⩽
n
⌈
x
⌉
=
n
⟺
x
⩽
n
<
x
+
1
\begin{cases} \lfloor x\rfloor=n\iff n\leqslant x<n+1\\ \lfloor x\rfloor=n\iff x-1<n\leqslant x\\[10pt] \lceil x\rceil=n\iff n-1<x\leqslant n\\ \lceil x\rceil=n\iff x\leqslant n<x+1\\ \end{cases}
⎩
⎨
⎧⌊x⌋=n⟺n⩽x<n+1⌊x⌋=n⟺x−1<n⩽x⌈x⌉=n⟺n−1<x⩽n⌈x⌉=n⟺x⩽n<x+1
并有, 整数项移出取整号:
{
⌊
x
+
n
⌋
=
⌊
x
⌋
+
n
,
⌈
x
+
n
⌉
=
⌈
x
⌉
+
n
,
(*)
\begin{cases} \lfloor x+n\rfloor=\lfloor x\rfloor+n,\\ \tag{*} \lceil x+n\rceil=\lceil x\rceil+n, \end{cases}
{⌊x+n⌋=⌊x⌋+n,⌈x+n⌉=⌈x⌉+n,(*)
不等式的转换:
{
⌊
x
⌋
<
n
⟺
x
<
n
⌊
x
⌋
⩾
n
⟺
x
⩾
n
⌈
x
⌉
>
n
⟺
x
>
n
⌈
x
⌉
⩽
n
⟺
x
⩽
n
\begin{cases} \lfloor x\rfloor<n \iff x<n\\ \lfloor x\rfloor\geqslant n\iff x\geqslant n \\[10pt] \lceil x\rceil>n\iff x> n\\ \lceil x\rceil\leqslant n\iff x\leqslant n\\ \end{cases}
⎩
⎨
⎧⌊x⌋<n⟺x<n⌊x⌋⩾n⟺x⩾n⌈x⌉>n⟺x>n⌈x⌉⩽n⟺x⩽n
与函数的关系
设
f
(
x
)
f(x)
f(x)是任意一个具有如下性质且在一个实数区间内连续的单调递增函数, 即:
f
(
x
)
=
integer
⟹
x
=
integer
.
f(x)=\text{integer}\Longrightarrow x=\text{integer}.
f(x)=integer⟹x=integer.
则有(若函数
f
(
x
)
,
f
(
⌊
x
⌋
)
,
f
(
⌈
x
⌉
)
f(x),f(\lfloor x\rfloor),f(\lceil x\rceil)
f(x),f(⌊x⌋),f(⌈x⌉)有定义)
⌊
f
(
x
)
⌋
=
⌊
f
(
⌊
x
⌋
)
⌋
,
⌈
f
(
x
)
⌉
=
⌈
f
(
⌈
x
⌉
)
⌉
.
\lfloor f(x)\rfloor=\lfloor f(\lfloor x\rfloor)\rfloor,\quad \lceil f(x)\rceil=\lceil f(\lceil x\rceil)\rceil.
⌊f(x)⌋=⌊f(⌊x⌋)⌋,⌈f(x)⌉=⌈f(⌈x⌉)⌉.
证明:(反证)
当 x = ⌈ x ⌉ x=\lceil x\rceil x=⌈x⌉, 显然成立.
当 x < ⌈ x ⌉ x<\lceil x\rceil x<⌈x⌉时, 根据函数 f ( x ) f(x) f(x)单调性得到:
f ( x ) < f ( ⌈ x ⌉ ) , f(x)<f(\lceil x\rceil), f(x)<f(⌈x⌉),
根据上取整函数非降性质, 又可得到:
⌈ f ( x ) ⌉ ⩽ ⌈ f ( ⌈ x ⌉ ) ⌉ , \lceil f(x)\rceil\leqslant \lceil f(\lceil x\rceil)\rceil, ⌈f(x)⌉⩽⌈f(⌈x⌉)⌉,
- 若 ⌈ f ( x ) ⌉ < ⌈ f ( ⌈ x ⌉ ) ⌉ \lceil f(x)\rceil< \lceil f(\lceil x\rceil)\rceil ⌈f(x)⌉<⌈f(⌈x⌉)⌉, 由 f f f连续性, 必定存在数 y y y, 使得 x ⩽ y < ⌈ x ⌉ x\leqslant y<\lceil x\rceil x⩽y<⌈x⌉, 以及 f ( y ) = ⌈ f ( x ) ⌉ f(y)=\lceil f(x)\rceil f(y)=⌈f(x)⌉. 由于 f f f定义, y ∈ Z y\in\mathbb Z y∈Z, 但是不存在介于 ⌊ x ⌋ \lfloor x\rfloor ⌊x⌋和 ⌈ x ⌉ \lceil x\rceil ⌈x⌉之间的整数, 矛盾, 由此得证.
由此得到一个特例:
∀
m
∈
Z
\forall m\in \mathbb Z
∀m∈Z,
n
∈
N
∗
n\in\mathbb N^*
n∈N∗, 有
⌈
x
+
m
n
⌉
=
⌈
⌈
x
⌉
+
m
n
⌉
,
⌊
x
+
m
n
⌋
=
⌊
⌊
x
⌋
+
m
n
⌋
.
(**)
\left\lceil \frac {x+m}n\right\rceil=\left\lceil \frac {\lceil x\rceil+m}n\right\rceil,\ \left\lfloor \frac {x+m}n\right\rfloor=\left\lfloor \frac {\lfloor x\rfloor+m}n\right\rfloor.\tag{**}
⌈nx+m⌉=⌈n⌈x⌉+m⌉, ⌊nx+m⌋=⌊n⌊x⌋+m⌋.(**)
恒等式
每组近似分配(埃尔米特恒等式的特例)
将
n
n
n个物品分成
m
m
m组, 按照非增次序排列且尽可能相等的部分的划分:
n
=
⌈
n
m
⌉
+
⌈
n
−
1
m
⌉
+
⋯
+
⌈
n
−
m
+
1
m
⌉
.
(3)
n=\left\lceil \frac nm\right\rceil+\left\lceil \frac {n-1}m\right\rceil+\cdots+\left\lceil \frac {n-m+1}m\right\rceil.\tag{3}
n=⌈mn⌉+⌈mn−1⌉+⋯+⌈mn−m+1⌉.(3)
证明: (构造)
设 n = q m + r n=qm+r n=qm+r, 其中 q = ⌊ n / m ⌋ q=\lfloor n/m\rfloor q=⌊n/m⌋, r = n m o d m , 0 ⩽ r < m r=n\bmod m, 0\leqslant r<m r=nmodm,0⩽r<m, 则:
当 r = 0 r=0 r=0, 此时将 q = ⌊ n / m ⌋ q=\lfloor n/m\rfloor q=⌊n/m⌋件物品放入第一组, 并且用 n ′ = n − q n'=n-q n′=n−q替换 n n n, 让 n ′ = q m ′ n'=qm' n′=qm′件物品放入剩下的 m ′ = m − 1 m'=m-1 m′=m−1组中, 重复这个操作直到物品都被分组.
当 r > 0 r>0 r>0, 将 ⌈ n / m ⌉ = ⌊ n / m ⌋ + 1 = q + 1 \lceil n/m\rceil=\lfloor n/m\rfloor+1= q+1 ⌈n/m⌉=⌊n/m⌋+1=q+1件物品放进第一组, 用 n ′ = n − q − 1 n'=n-q-1 n′=n−q−1替换 n n n,
n ′ = n − q − 1 = q m + r − q − 1 = q ( m − 1 ⏟ m ′ ) + r − 1 ⏟ r ′ n'=n-q-1=qm+r-q-1=q(\underbrace{m-1}_{m'})+\underbrace{r-1}_{r'} n′=n−q−1=qm+r−q−1=q(m′ m−1)+r′ r−1
即 n ′ = q m ′ + r − 1 n'=qm'+r-1 n′=qm′+r−1件物品留给后面的分组. 此时新的余数为 r ′ = r − 1 r'=r-1 r′=r−1, 但 q q q保持不变.
当余数 r r r减到 0 0 0时, 此时情况同上, 所以有
n 件商品 : { r 个组 : q + 1 件物品 m − r 个组 : q 件物品 n件商品:\begin{cases} \qquad r个组:q+1件物品\\ m-r个组:q件物品 \end{cases} n件商品:{r个组:q+1件物品m−r个组:q件物品那么在第 k k k组( 1 ⩽ k ⩽ m 1\leqslant k\leqslant m 1⩽k⩽m)中有多少物品?
应该是:
⌈ n − k + 1 m ⌉ \left\lceil \frac {n-k+1}m\right\rceil ⌈mn−k+1⌉证明:
将 n = q m + r n=qm+r n=qm+r代入上式, 得到:
⌈ n − k + 1 m ⌉ = ⌈ q m + r − k + 1 m ⌉ = ( ∗ ) q + ⌈ r − k + 1 m ⌉ \left\lceil \frac {n-k+1}m\right\rceil=\left\lceil \frac {qm+r-k+1}m\right\rceil\stackrel{(*)}{=}q+\left\lceil \frac {r-k+1}m\right\rceil ⌈mn−k+1⌉=⌈mqm+r−k+1⌉=(∗)q+⌈mr−k+1⌉
应用边界条件: 1 ⩽ k ⩽ m , 0 ⩽ r < m 1\leqslant k\leqslant m,\ 0\leqslant r<m 1⩽k⩽m, 0⩽r<m, 得到
⌈ r − k + 1 m ⌉ = [ k ⩽ r ] \left\lceil \frac {r-k+1}m\right\rceil=[k\leqslant r] ⌈mr−k+1⌉=[k⩽r]
上面的 [ k ⩽ r ] [k\leqslant r] [k⩽r]表示当满足 k ⩽ r k\leqslant r k⩽r时, 取 1 1 1, 否则取 0 0 0, 这正好满足我们上面给出的构造分组的方法.将其写成累加形式, 则有:
n = ⌈ n m ⌉ + ⌈ n − 1 m ⌉ + ⋯ + ⌈ n − m + 1 m ⌉ = ∑ i = 0 m − 1 ⌈ n − i m ⌉ = q m + ∑ i = 0 m − 1 ⌈ r − i m ⌉ = q m + ∑ i = 0 r − 1 ⌈ r − i m ⌉ = q m + r \begin{aligned} n&=\left\lceil \frac nm\right\rceil+\left\lceil \frac {n-1}m\right\rceil+\cdots+\left\lceil \frac {n-m+1}m\right\rceil\\ &=\sum_{i=0}^{m-1}\left\lceil \frac {n-i}m\right\rceil=qm+\sum_{i=0}^{m-1}\left\lceil \frac {r-i}m\right\rceil\\ &=qm+\sum_{i=0}^{r-1}\left\lceil \frac {r-i}m\right\rceil=qm+r\\ \end{aligned} n=⌈mn⌉+⌈mn−1⌉+⋯+⌈mn−m+1⌉=i=0∑m−1⌈mn−i⌉=qm+i=0∑m−1⌈mr−i⌉=qm+i=0∑r−1⌈mr−i⌉=qm+r
同理, 根据各个部分按照非减的次序排列, 小的组放在前面, (
⌊
n
/
m
⌋
\lfloor n/m\rfloor
⌊n/m⌋在第一组)就得到:
n
=
⌊
n
m
⌋
+
⌊
n
+
1
m
⌋
+
⋯
+
⌊
n
+
m
−
1
m
⌋
.
(3’)
n=\left\lfloor \frac nm\right\rfloor+\left\lfloor \frac {n+1}m\right\rfloor+\cdots+\left\lfloor \frac {n+m-1}m\right\rfloor.\tag{3'}
n=⌊mn⌋+⌊mn+1⌋+⋯+⌊mn+m−1⌋.(3’)
针对上面得到的结论, 还可以进行推广:
利用
⌊
m
x
⌋
\lfloor mx\rfloor
⌊mx⌋替换
(
3
′
)
(3')
(3′)式中的
n
n
n, 并用
(
∗
∗
)
(**)
(∗∗)式去掉下取整函数中的下取整函数可以得到:
⌊
m
x
⌋
=
⌊
x
⌋
+
⌊
x
+
1
m
⌋
+
⋯
+
⌊
x
+
m
−
1
m
⌋
.
\lfloor mx\rfloor=\left\lfloor x\right\rfloor+\left\lfloor x+\frac 1m\right\rfloor+\cdots+\left\lfloor x+\frac{m-1}m\right\rfloor.
⌊mx⌋=⌊x⌋+⌊x+m1⌋+⋯+⌊x+mm−1⌋.
上式就是埃尔米特恒等式.
★ \bigstar ★上下取整转换
下面介绍前言部分提到的一个重要的关系, 利用这个式子可以方便的转换上取整和下取整, 因为计算机编程语言中常用下取整.
⌈
n
m
⌉
=
⌊
n
+
m
−
1
m
⌋
=
⌊
n
−
1
m
⌋
+
1.
(***)
\left\lceil \frac{n}{m} \right\rceil = \left\lfloor \frac{n+m-1}{m} \right\rfloor = \left\lfloor \frac{n - 1}{m} \right\rfloor + 1.\tag{***}
⌈mn⌉=⌊mn+m−1⌋=⌊mn−1⌋+1.(***)
以及:
⌊
n
m
⌋
=
⌈
n
−
m
+
1
m
⌉
=
⌈
n
+
1
m
⌉
−
1.
\left\lfloor \frac{n}{m} \right\rfloor = \left\lceil \frac{n-m+1}{m} \right\rceil = \left\lceil \frac{n + 1}{m} \right\rceil - 1.
⌊mn⌋=⌈mn−m+1⌉=⌈mn+1⌉−1.
证明:(方法1)
直接由埃尔米特恒等式的特例 ( 3 ) (3) (3)的第一项等于 ( 3 ′ ) (3') (3′)式的第二项, 即为本结论, 需要从组合意义角度出发. (分组方法)
证明:(方法2)
对 ( ∗ ∗ ∗ ) (*\!*\!*) (∗∗∗)两端同时减去 ⌊ n m ⌋ \left\lfloor \dfrac nm\right\rfloor ⌊mn⌋, 得到:
左边:(利用与整数的关系之3)
⌈ n m ⌉ − ⌊ n m ⌋ = ⌈ n m o d m m ⌉ = { 0 , 若 n m o d m = 0 , 1 , 若 n m o d m > 0. \left\lceil \frac{n}{m} \right\rceil-\left\lfloor \dfrac nm\right\rfloor=\left\lceil\frac{n\bmod m}{m}\right\rceil=\begin{cases} 0,&\text{ 若 }n\bmod m=0,\\ 1,&\text{ 若 }n\bmod m>0. \end{cases} ⌈mn⌉−⌊mn⌋=⌈mnmodm⌉={0,1, 若 nmodm=0, 若 nmodm>0.右边:
可设 n = m q + r n=mq+r n=mq+r, 并有 q = ⌊ n / m ⌋ , 0 ⩽ r = n m o d m < m q=\lfloor n/m \rfloor,0\leqslant r=n\bmod m<m q=⌊n/m⌋,0⩽r=nmodm<m, 则
⌊ n + m − 1 m ⌋ − ⌊ n m ⌋ = ⌊ m q + m + r − 1 m ⌋ − ⌊ m q + r m ⌋ = ⌊ r + m − 1 m ⌋ − ⌊ r m ⌋ = ⌊ r + m − 1 m ⌋ = ⌊ n m o d m + m − 1 m ⌋ = { 0 , 若 n m o d m = 0 , 1 , 若 n m o d m > 0. \begin{aligned} \left\lfloor \frac{n+m-1}{m} \right\rfloor-\left\lfloor \frac nm\right\rfloor &=\left\lfloor \frac{mq+m+r-1}{m} \right\rfloor-\left\lfloor \frac {mq+r}m\right\rfloor\\ &=\left\lfloor \frac{r+m-1}{m} \right\rfloor-\left\lfloor \frac {r}m\right\rfloor\\ &=\left\lfloor \frac{r+m-1}{m} \right\rfloor\\ &=\left\lfloor \frac{n\bmod m+m-1}{m} \right\rfloor\\ &=\begin{cases} 0,&\text{ 若 }n\bmod m=0,\\ 1,&\text{ 若 }n\bmod m>0. \end{cases} \end{aligned} ⌊mn+m−1⌋−⌊mn⌋=⌊mmq+m+r−1⌋−⌊mmq+r⌋=⌊mr+m−1⌋−⌊mr⌋=⌊mr+m−1⌋=⌊mnmodm+m−1⌋={0,1, 若 nmodm=0, 若 nmodm>0.即得结论.
当然, 还有通过广义Ramsey定理证明的方法(鸽巢原理的推广), 可以参见3.
总的来看, 这个结论通过上面的近似分组问题就可以解释了.