联想到 "a+b>=2√ab"
求整数n分成m段后乘积的最大值
a = m / n
b = m % n
n分成m段时的最大值为,max(m) = (a+1)^b * (a)^(m-b)
m 从2到n max(m)值呈现一个尖峰状
当 max(m) <= max(m-1) 时,max(m-1)最大。

class Solution {
public:
    int cutRope(int number) {
        int m,a,b;
        int max_new = 0;
        int max_old = 0;
        for(m = 2;m <= number;m++){
            a = number/m;
            b = number%m;
            max_new = pow(a + 1 , b) * pow(a , m - b);
            if(max_old >= max_new)
                break;
            max_old = max_new;
        }
        return max_old;
    }
};