程序以Python给出总和很少的数的乘积
假设我们有一个数字n,我们必须找到两个或多个数字,使得它们的和等于n,并且这些数字的乘积最大,我们必须找到乘积。
因此,如果输入类似于n=12,则输出将为81,因为3+3+3+3=12且3*3*3*3=81。
为了解决这个问题,我们将遵循以下步骤-
定义一个功能dp()。这将花费n
如果n等于0,则
返回1
回答:=0
对于介于1到n+1的i
ans:=ans和(i*dp(n−i))的最大值
返回ans
从主要方法中,执行以下操作-
返回dp(n)
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, n):
def dp(n):
if n == 0:
return 1
ans = 0
for i in range(1, n + 1):
ans = max(ans, i * dp(n - i))
return ans
return dp(n)
ob1 = Solution()print(ob1.solve(12))输入值
12
输出结果
81
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短