如何不用枚举法证明整数n下n/6与⌊(n-3)/6⌋的最大差值为1⅓
如何不用枚举法证明整数n下n/6与⌊(n-3)/6⌋的最大差值为1⅓
嘿,这个问题咱们不用一个个试数,直接用整数带余除法和向下取整函数的核心性质就能严谨证明,思路很清晰:
首先,对于任意整数n,我们可以用带余除法把它写成:n = 6k + r
其中k是整数,r是余数,取值范围是 r ∈ {0, 1, 2, 3, 4, 5}(这是整数除法的基本性质,所有整数都能拆成6的倍数加0到5之间的余数)。
接下来我们分情况计算⌊(n-3)/6⌋:
把n代入式子得:(n-3)/6 = (6k + r - 3)/6 = k + (r-3)/6
根据向下取整函数⌊x⌋的定义:对于任意实数x,⌊x⌋是小于等于x的最大整数,我们分两种情况讨论:
- 当r ≥ 3时(也就是r=3、4、5):(r-3)是0、1、2,所以(r-3)/6是0到1/3之间的非负数,这时候
⌊k + (r-3)/6⌋ = k(因为k是整数,加上一个小于1的非负数,向下取整还是k)。 - 当r < 3时(也就是r=0、1、2):(r-3)是-3、-2、-1,所以(r-3)/6是-0.5到-1/6之间的负数,这时候
⌊k + (r-3)/6⌋ = k - 1(整数k加上一个大于-1的负数,向下取整会比k小1)。
现在计算差值D = n/6 - ⌊(n-3)/6⌋,分别代入两种情况:
- r ≥ 3的情况:
D = (6k + r)/6 - k = r/6
r最大是5,所以D最大是5/6 ≈ 0.833,明显小于1⅓。 - r < 3的情况:
D = (6k + r)/6 - (k - 1) = (6k + r)/6 - k + 1 = r/6 + 1
这里r最大取2,代入得:D = 2/6 + 1 = 1 + 1/3 = 1⅓,这就是我们要找的最大值。
再验证一下你提到的n=8+6i的情况:比如i=0时n=8,拆成61+2,属于r=2的情况,差值是8/6 - ⌊(8-3)/6⌋ = 4/3 - 0 = 1⅓;i=1时n=14=62+2,差值是14/6 - ⌊11/6⌋ = 7/3 -1 = 1⅓,完全符合推导结果。
而且我们能确定这个差值不会更大:因为r只能取0到5,其他r值对应的D要么是1(r=0)、1⅙(r=1),要么是≤5/6(r≥3),都比1⅓小。这样就严谨证明了最大值就是1⅓,不用枚举所有n~
备注:内容来源于stack exchange,提问作者Kenneth Watanabe




