给定一个数字
解决这个问题的一种方法是列出所有子集,然后找到乘积最大的那个。是否有比暴力更高效的算法?
要找到子集,可以使用此公式,并且我目前正在使用此逻辑进行开发。
n
和一个分割值 k
,满足 n1+n2+..nk=n
,我需要找到集合 {n1,n2..,nk}
,使得 n1*n2*...nk
最大。解决这个问题的一种方法是列出所有子集,然后找到乘积最大的那个。是否有比暴力更高效的算法?
要找到子集,可以使用此公式,并且我目前正在使用此逻辑进行开发。
k
子集?n1,n2,... nk
是某个子集的一部分吗?还是你可以“发明”它们? - amitk
个数相乘。如果你需要处理负数,那就会变得有点复杂,但只是有点而已。 - High Performance Markk
个子集。我指的是对于子集{n1,...nk}
可能产生的所有可能子集。 - Anindya Duttan
。你需要找到k
个数字,使它们的和等于n
,并且这k
个数字的乘积是所有这样的k
个数字集合中最大的。 - Anindya Dutta