分析找规律:
n : 2 3 4 5 6 7 8 9 10 11
结果: 1 2 2×2 2×3 3×3 2×2×3 2×3×3 3×3×3 2×2×3×3 2×3×3×3
程序如下:class Solution {
public:
int integerBreak(int n) {//给定不小于2的正数n,将其拆成若干正数的和,使这些正数的乘积最大,并返回最大乘积
if(n==2)return 1;
if(n==3)return 2;
else if(n%3==0)return pow(3,n/3);
else if(n%3==1){
int temp=pow(3,(n-4)/3);
return 2*2*temp;
}
else
return 2*pow(3,(n-2)/3);
}
};