'给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 '示例 1: '输入: 2 '输出: 1 '解释: 2 = 1 + 1, 1 × 1 = 1。 '示例 2: ' '输入: 10 '输出: 36 '解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。 Sub main() Debug.Print (integerBreak(13)) End Sub Public Function integerBreak(n) Dim dp() ReDim dp(n + 1) dp(2) = 1 For i = 3 To n For j = 1 To i - j dp(i) = Application.WorksheetFunction.Max(dp(i), Application.WorksheetFunction.Max(j * (i - j), j * dp(i - j))) Next Next integerBreak = dp(n) End Function
标签:End,Sub,示例,integerBreak,整数,Next,拆分,动态,dp From: https://www.cnblogs.com/eyunkeji/p/16949575.html