这道题可以用两个方法解决: 1、动态规划 分析:当绳子长度为n时,将它剪成若干段后各长度乘积有一个最大值f(n),假设剪下第一刀,则绳子分为长度为i和长度为n-i的两段,所以f(n)=max(f(i)*f(n-i)),易知这是一个从上至下的递归公式, 但是递归从上至下计算繁琐,而我们很容易得出f(0)、f(1)、f(2)、f(3)的值,所以我们可以采取从下至上的方式: int cutRope(int number) { if(number<2) ...