int cutRope(int number ) {
int MaxN[number+1];
int i,j;
int max,tmp;
if (number==0)
return 0;
if (number==1)
return 1;
if (number==2)
return 2;
if (number==3)
return 1;
for(i=0;i<number+1;i++)
MaxN[i]=0;
MaxN[0]=0;
MaxN[1]=1;
MaxN[2]=2;
MaxN[3]=3;
for(i=4;i<=number;i++)
{
max=0;
for(j=1;j<=i/2;j++)
{
tmp = MaxN[j]*MaxN[i-j];
if(tmp>max)
max = tmp;
}
MaxN[i] = max;
}
return MaxN[number];
}