这是 2014 年印度全国奥林匹克数学竞赛(INMO)的第 2 题:求证,对于任意正整数 n ,
[n/1] + [n/2] + [n/3] + … + [n/n] + [√n]
总是偶数。这里, [x] 表示不超过 x 的最大整数。
官方给出的解答采用的是数学归纳法。不妨令
f(n) = [n/1] + [n/2] + [n/3] + … + [n/n] + [√n]
容易算出 f(1) = 2 ,这是一个偶数。接下来我们只需要证明,对于所有的正整数 k , f(k+1) – f(k) 的结果都是一个偶数。注意,如果 i 正好是 k+1 的一个约数,那么 [(k+1)/i] – [k/i] 将会等于 1 ,否则 [(k+1)/i] – [k/i] 都会等于 0 。于是我们有
f(k+1) – f(k) = σ(k+1) + [√k+1] – [√k]
其中 σ(k+1) 表示 k+1 的约数个数。由于一个数的约数总是成对地出现,因而 σ(k+1) 几乎总是一个偶数,除非 k+1 恰好是一个完全平方数;另外, [√k+1] – [√k] 的值几乎总是为 0 ,只有当 k+1 恰好是一个完全平方数时才等于 1 。也就是说,当 k+1 不是完全平方数时, σ(k+1) 是一个偶数,并且 [√k+1] – [√k] = 0 ;当 k+1 正好是完全平方数时, σ(k+1) 是一个奇数,并且 [√k+1] – [√k] = 1 。不管怎样, f(k+1) – f(k) = σ(k+1) + [√k+1] – [√k] 的结果都是一个偶数。至此,结论也就证到了。
有趣的是,当网友在 StackExchange 上提出了这个问题后, David Angell 给出了一个更具启发性的证明。容易看出, [n/1] + [n/2] + [n/3] + … + [n/n] 的值,其实就是第一象限里位于函数 y = n/x 及其下方的整数格点的个数。我们把这些点分成两类:位于一三象限角平分线以外的,以及恰好位于一三象限角平分线上的。前一类的点总是成对地出现,因而一定有偶数个。但是,后一类点并不是成对出现的。那么,这些点一共有多少个呢?注意到,这些点也就是所有形如 (i, i) 的点,其中 i2 不能超过 n 。因而,这样的点一共有 [√n] 个。
因此, [n/1] + [n/2] + [n/3] + … + [n/n] + [√n] 的值,其实就等于这两类点的总个数,其中后一类点被重复计算了两次。这个值显然应该是偶数。
题目来源:Cut-The-Knot
已阅。
为什么每次沙发都被localhost姐姐给抢走了
思路很赞!
图形结合,比文字简单,更加易于理解
stackexchange上的解法很有意思
确实显现易懂。
就是推导的时候,如果能明确说明下非平方数的约数个数是偶数,平方数的约数个数是奇数,就更好理解了。公式中√k+1 – √k应为[√k+1] – [√k]吧?
谢谢指正,已改
盯了好久图里挂着的三盏呼吸灯……
自从改了版M牛的插图都开始走文艺路线了,配色都是小清新。(还是说因为换了艺术指导?)
23333赞一个!
从来都进不了奥林匹克。。。。
这几天再更新几篇吧,看的不过瘾
第二种证法真心赞
三哥真心思路广欢乐多……怎么看这个题目都应该是奔着方法二设计的吧
这个说明很有意思
我证的时候是按 [n/1] + [n/2] + [n/3] + … + [n/n] = [1,n]中1的倍数的个数+2的倍数的个数+…+n的倍数的个数 = [1,n]中1的因数的个数+2的因数的个数+…+n的因数的个数
我在之前的帖里问过这个问题,希望如果有人知道答案可以回复,谢谢!
请问如何能够记录自己看到哪里了?我正在一条一条地看这个博客,内容真的好精彩!我看了十多页了,但是每次看都需要一页一页地刷过去才能看到上次看到的地方。
大家知道怎么才能记住上次看到哪里,或者怎么才能比较快地去到上次看到的地方吗?谢谢!
可以尝试在地址栏输入页码快速翻页:http://www.matrix67.com/blog/page/2(替换这个数字)
多谢!搞定了!
我昨天才发现。。。。。。现在都page13了
http://www.matrix67.com/blog/archives/5919#comment-1092481
这个5919貌似也能换
有趣的是……这一段中有一句话有点小问题。
”但是,后一类点并不是成对出现的。那么,这些点一共有多少个呢?“建议改成”但是,后一类点并不总是成对出现的,那么,这些点一共有多少个呢?“
哈~
这个肿么看都是先有解答再编的题目吧。。。
为什么其中 i2 不能超过 n 。因而,这样的点一共有 [√n] 个?万一是10呢?那不就是无理数了吗,无理数不是偶数呀!?
[sqrt(10)] = 3
这跟n没关系,对角线之外的点是对称分布,所以肯定是偶数,对角线上的点×2,加起来等于原式,显然是偶数。
看条件,[x] 表示不超过 x 的最大整数, 因此 [√n]表示不超过 √n 的最大整数
codeforce有个类似的题目
用到了方法2的思路
原来初中时请教过你一题 现在高二了再回来看看 还是牛逼的博客啊。。话说 这个博客有没有完整的日志列表 我想全部看一遍
高端的图形结合法
赞!!!!
你好,顾老师,我想请教你博彩概率统计方面的问题,我的QQ1772425659,期待你加我或者给我留言,谢谢啦。
思考很有乐趣
挺好!
思考很有乐趣
请问y = n/x这个函数是怎么推出来的?
http://acm.bnu.edu.cn/v3/contest_show.php?cid=4341#problem/H
ZOJ月赛题里面居然用到了。。
老师的题目太赞了哈哈
第二种方法 在 OI 中的”数论分块”中有所体现. 参考 [数论分块](https://www.luogu.com.cn/blog/_post/322415)
总之就是数形结合 orz