一、题目
二、思路
1、拆分成相等的数时乘积最大,比如长方形周长为10,求最大面积;5*5为最大面积
2、这里拆分成m段,假设拆分后每段长x,列公式求导
3、由求导可知,当x=2或者学时满足条件,但是f(2)<f(3),所以选择x=3;
4、对于n/x不能整除的,取余判断
三、代码
class Solution {
public:
int cutRope(int number) {
if(number==2 || number==1)
{
return 1;
}
else if(number==3)
{
return 2;
}
else if(number==4)
{
return 4;
}
int m=number%3;
switch(m)
{
case 0:return pow(3,number/3);
case 1:return pow(3, number/3-1)*4;
case 2:return pow(3,number/3)*2;
}
return 0;
}
};