过年没事出道题大家玩玩

2019-02-09 14:45:28 +08:00
 zealot0630

求证:任意有理数能表示为有限个 1/n 之和,比如

2 = 1/1 + 1/2 + 1/3 + 1/6

4/5 = 1/2 + 1/4 + 1/20

10/7 = 1/1 + 1/3 + 1/11 + 1/231

任何有理数,包括很大的整数,也包括很小的分数

6534 次点击
所在节点    程序员
54 条回复
aijam
2019-02-09 21:12:10 +08:00
@zealot0630 #24
> 下面俩答案只证明了小于 1 的有理数,并没有证明所有有理数可以,虽然也是证明的关键步骤,但是前面还少了一些步骤

H(n) = 1/1 + 1/2 + ... + 1/n,由于 H(n)发散,对任意一个有理数 x,总能找到 H(n) <= x <= H(n+1)。
如果任意等号成立,则平凡解。
否则,有 H(n) < x < H(n+1),则 0 < x - H(n) < 1/(n+1)。
已证明 x - H(n)可以被表示,且这个数比 1/(n+1)小所以不会和 H(n)里的任意一项重复。
再加上 H(n)就是 x 了。
zealot0630
2019-02-09 21:25:19 +08:00
@aijam 下面那个新答案就是我刚才去写的
aijam
2019-02-09 21:28:02 +08:00
@zealot0630 哈哈,一样啦
gabon
2019-02-09 22:17:06 +08:00
反证吗,假设一个数 m/n 不可以这样构造,然后证明是可以这样分解的。
Kirscheis
2019-02-09 22:18:04 +08:00
@eccstartup 我不是说了吗,最后要用不等式说明算法是有限终止的,怎么就无法证明了。。

我在外面玩没法细说,你写出两项来简单缩放一下就看出来怎么证明了。。这个算法可以保证每次迭代得到的新分数的分子总是单调下降的,因为分子是个正数而且是整数,所以对任意大的起点必定是有限终止的
SHawnHardy
2019-02-10 10:53:03 +08:00
@across 有理数集对加、减、乘、除四则运算是封闭的
macg0406
2019-02-11 00:39:07 +08:00
1. 任意 m/n 都可以分解成 m 个 1/n
2. 对任意的 1/n 都可以分解成 1/2n + 1/3n + 1/6n

任意正有理数都可以分解成有限个 m1/n1 + m2/n2 + ... + mk/nk,即 m1 个 1/n1 项, m2 个 1/n2 项,... , mk 个 1/nk 项
3. 对于 mk 大于 1 中最大的 nk, 可以将 mk/nk,可以分解为 1/nk + (mk-1)*(1/2nk + 1/3nk + 1/6nk),考虑到相同分母合并(不约分),分母为 2nk, 3nk, 6nk 的项的数目小于等于 mk(前面假设大于 nk 的项的数目最多为 1), 该步骤可以在分母小于 nk 的项不变的情况下使 nk 变大过 mk 变小,因此该步骤有穷。
4. 重复步骤 3,直到所有相同分母项的个数都为 1。

如 3= 3/1
=1/1+2/2 +2/3 +2/6
= 1/1 +2/2 +2/3 +1/6 +1/12 +1/18 +1/36
= 1/1 + 2/2 +1/3 + 2/6 + 1/9 +1/12 +2/18 +1/36
= 1/1 + 2/2 +1/3 + 2/6 + 1/9 +1/12 +1/18 +2/36 + 1/54 +1/108
= 1/1 +2/2 +1/3 + 2/6 + 1/9 +1/13 +1/18 +1/36 +1/54 +1/72 +1/108+1/144
....
zealot0630
2019-02-11 04:31:54 +08:00
@macg0406 这个证明是错的,你只用到了所有分母为 2^p*3^q 的项,然而即使把这些项全部加起来,极限是存在的,极限为 1/[(1-1/2)(1-1/3)]=3 (用等比求和公式),就是说>3 数的都无法表示,即使是 3 也需要无穷多项。
macg0406
2019-02-11 12:57:26 +08:00
@zealot0630 是错了,1/n 分解成 1/(n+1) +1/n(n+1) 应该就可以了。
zealot0630
2019-02-11 15:22:39 +08:00
@macg0406 是可以,但是你无法证明其可以,比如 100,要一直分解,直到分解到约 1/e^100 才终止。你很难证明这个分解一定终止,数学是严谨的,你必须证明第四步一定会在有限步终止
zhiqiang
2019-02-11 15:42:06 +08:00
p/(pq+x) = 1/(q+1) + (p-x)/((pq+x)(q+1))

小于 1 的分数,可以分解,使得分子越来越小,直到变为 0,结束。

大于 1 的数,可以先 1+1/2+1/3 一直下去,直到剩余数足够小,然后重复上面步骤。
zhiqiang
2019-02-11 15:42:58 +08:00
修改一个笔误。

p/(pq+x) = 1/(q+1) + (p-x)/((pq+x)(q+1)),其中 0<x<p。

小于 1 的分数,可以分解,使得分子越来越小,直到变为 1,结束。

大于 1 的数,可以先 1+1/2+1/3 一直下去,直到剩余数足够小,然后重复上面步骤。
mobaui
2019-02-11 16:16:30 +08:00
你们在说什么?我自闭了
sunziren
2019-02-12 09:43:03 +08:00
你们到底在说什么?我也自闭了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/533567

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX