将一个数分解为n个数的和使其积最大

来源:百度知道 编辑:UC知道 时间:2024/07/11 14:49:41
将一个数分解为N个数的和,并使这N个数的积为最大。同时这N个数要互不相等,开始忘记了,不好意思哦

全都是2和3,其中2的个数最多两个。

把n分成若干个3和若干个2的和,其中3尽量多,2只能是0个、1个或2个(尽量少),则他们的积为最大,具体方法为:
1)n=3k时,把n分解成k个3,此时3^k最大
2)n=3k+1=3(k-1)+2+2,把n分解成k-1个3和2个2,此时乘积3^(k-1)*4最大
3)n=3k+2,把n分解成k个3和1个2,此时乘积3^k*2最大
2的个数不多于2个,这是因为假设有3个2,但6=3+3,2^3<3^2,所以此时分解成2个3乘积更大
一般性的结论为:把自然数n分解成若干数之和,则当每一数接近无理数e时积最大。因为e=2.71828……更接近3,所以要求3尽量多,2尽量少。
下面给个证明:
由均值不等式知道,把n平分成m份时乘积比非平均分大,所以设把n平均分成x份,乘积为y,即有y=(n/x)^x
y'=[(n/x)^x]*(lnn-lnx-1)
令y'=0得lnn-lnx-1=0,x=e^(lnn-1)=n/e,所以有每一份为n/x=e

此题要讨论n(n>1)的情况:
n=2时,将一个数平分其积最大.
n>2时,均有办法可以使其积为无穷大(分为两个负的,其余为正的).

楼上正解。有一年的ACM编程大赛考了这个题。其实很简单,只要先证得相等最大,然后作出关系函数,求导等于零,再解。一般学过高等数学的都会。

先全部分成=3+3+3+...+3+的形式
剩下4时 分成2和2
其他都留着 比如 5=3+2 10=3+3+2+2 9=3+3+3

我不是他舅 应该是对的吧,可是为什么能说下吗?

二级C编程:将一个数分解成几个质数之积并统计其质数的个数 在指定的N个数中怎样最快挑选M个,使他们的和为指定的一个数 将n分解为正整数的和(pascal语言) 一个匝数为N的空心密绕线圈,若将其匝数变为2N,其他条件不变,那么其自感系数将变为多大?说明你的理由 将正奇数划分为下列各组:(1),(3,5),(7,9,11),""",记第n组的第一个数为a,第n组的各数和为s,求a和s 在n*n的棋盘上填入1,2,3,4.......n*n,共有n*n个数,使得任意两个相邻数的和为素数 编个C++程序怎么弄啊。。有一个整数n,将n分解成若干个整数之和,问如何分解能使这些数的乘积最大 编写一个算法。将一个非负的十进制数N转化为一个B进制数 有N个整数,其积为N,其和为0,求证:数N一定能被4整除. 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数