评论区题解:剪绳子(含数学推导)
记住两个结论:
(1)将绳子等分,得到的乘积最大。
(2)最优段长为3。
int cuttingRope(int n){
if (n<=3) return n-1;
// 当n>3时,有三种情况
int residue = n%3;
int count = n/3;
if(residue == 2) return pow(3, count)*2;
else if(residue == 1) return pow(3, count-1)*4;
else return pow(3, count);
}