题意:给出一个大于等于2的正整数,将其拆分成若干个整数的和,使得其积最大
思路:在大于4的情况下,将其拆分成若干个3的和,这种情况下积是最大的
代码如下:
public class Solution
{
public int integerBreak(int n)
{
if (1 == n) return 1;
else if (2 == n) return 1;
else if (3 == n) return 2;
else if (4 == n) return 4;
int ret = 1;
while (n > 4)
{
ret *= 3;
n -= 3;
}
return ret * n;
}
}