Reading

一个有趣的问题


Fanyi Pu

把正整数 n 分解成几个正整数的和,是它们的乘积最大。

以下纯口胡,如果有问题求在下面留言。

根据均值不等式(证明在最下面):

∏i=1nxi≤(∑i=1nxin)n

先不考虑整数的限制,我们应将一个数均匀地分成 k 份,每个数为 x,那么有:

n=kx

另乘积为 y,有:

y=xk=xnx=(x1x)n

于是问题就变成了求 y=x1x​ 在 x>0​ 上的极值。

两边同取对数:

ln⁡y=1xln⁡x

两边同时关于 x 求导:

y′y=−1x2ln⁡x+1x2=1−ln⁡xx2

右边应该没问题,那左边为什么不是 1y​ 呢?

因为 y 是个因变量,其导数不一定就是 1,即 x 增加 dx,y 不一定增加 dx。

但我们有:

f[g(x)]=f′(x)g′(x)

于是:

y′=1−ln⁡xx2y=1−ln⁡xx2x1x

当 y′=0 时:

1−ln⁡xx2x1x=0

由于 x>0:

1−ln⁡x=0

即:

x=e

但 e 不是整数,由于 ⌊e⌋=2,⌈e⌉=3,且

212≈1.4142135623730950488016887242097313≈1.4422495703074083823216383107801

所以

212<313

因此应该尽量取 3,多出来的取 2。

下面给出均值不等式的一种证法:

有一种叫“反向归纳法”的东西,它是从 n 到 n−1 来证明命题。

我们令原命题为 P(n)​。

首先,n=2​ 时显然为真:

ab≤a+b2

然后证明 P(n) 和 P(2) 蕴涵着 P(2n):

因为:

∏i=1nxi≤(∑i=1nxin)n∏i=n+12nxi≤(∑i=n+12nxin)n

两式相乘:

∏i=12nxi≤(∑i=1nxin)n×(∑i=n+12nxin)n≤(∑i=12nxi2n)2n

最后证明 P(n) 蕴涵着 P(n−1):

令 xn=∑i=1n−1xin−1​ 即 xn​ 为前 n−1​ 项的平均值,我们发现这 n​ 项的平均值为前 n−1​ 项的平均值,即:

∏i=1n−1xi×∑i=1n−1xin−1≤(∑i=1n−1xin−1)n

两边同除 ∑i=1n−1xin−1:

∏i=1n−1xi≤(∑i=1n−1xin−1)n−1

Cite this post

@misc{pu2019oiicpcotherproblemsintegerbreak,
  author = {Pu, Fanyi},
  title  = {一个有趣的问题},
  year   = {2019},
  month  = {2},
  url    = {https://pufanyi.com/blog/oi-icpc/other-problems/integer-break}
}