【leetcode】343. 整数拆分


#define max(a,b) ((a)>(b))?(a):(b)
int integerBreak(int n){
    int dp[58]={0}, i, j;
    dp[1]=1;
    for(i=2; i<=n; i++){
        for (j=1; j<=i/2; j++){
            dp[i]= max( dp[i],  ( max(dp[j],j) )  * ( max(dp[i-j],i-j) ) );
        }       
    }
    return dp[n];
}