柯西不等式 假设都相等的时候乘积最大 最后会转化成 y=x1xy = x^{\frac{1}{x}}求极大值 直接用wolfram求求

USDkXj

用2和3试一下 发现3的结果更大

2只能分成1x1

3只能分成1x1x1或者1x2 后者大

商为a 余数为b 做如下分类讨论

1
2
3
4
5
6
7
8
9
class Solution {
public int integerBreak(int n) {
if(n <= 3) return n-1;
int a = n / 3, b = n % 3;
if(b == 0) return (int)Math.pow(3, a);
if(b == 1) return (int)Math.pow(3, a-1) * 4;
return (int)Math.pow(3, a) * 2;
}
}