题解 | #实现抽象方法#
剪绳子(进阶版)
http://www.nowcoder.com/practice/106f666170554379ab1974e5a601e741
长度为n的绳子(n为正整数),截为m段(每段绳子的长度都为正整数),求m段绳子的乘积最大值;
等价于
n=n1+n2+......+nn;求n1n2...nn 的最大值;
对于一个正整数a,若,d为正整数。
则a>;因为d为正整数,所以a>4;
所以ni(i=1,2,3..n)<=4; 即ni的值为2或3或4,
又因为4=2*2; 不妨另ni的值均为2或3, 则(a,b为非零整数);
因为,且
所以a等于0或1或2; 又因为 a最终等于0或1或2; 这样就可以确定 a和b了 也就可以求出最大值了
