打破整数以最大化 JavaScript 中的产品
问题
我们需要编写一个JavaScript函数,它接受一个整数num作为第一个也是唯一的参数。
我们的函数应该将这些整数分成至少两个块,当添加时给出总和整数num,相乘时给出最大可能的乘积。最后,我们的函数应该返回这个最大可能的乘积。
例如,如果函数的输入是-
const num = 10;
那么输出应该是-
const output = 36;
输出说明:
因为10可以分解为3+3+4,乘以得到36。
示例
此代码将是-
const num = 10;
const breakInt = (num = 2) => {
const dp = new Array(num + 1).fill(0);
dp[0] = 0;
dp[1] = 1;
for(let i = 2; i <= num; i++){
for(let j = 1; 2*j <= i; j++){
dp[i] = Math.max(dp[i], Math.max(j, dp[j]) * Math.max(i-j,
dp[i-j]) );
};
};
return dp[num];
};
console.log(breakInt(num));输出结果控制台中的输出将是-
36
热门推荐
10 读书祝福语女生短句简短
11 感谢同事新婚祝福语简短
12 感谢教官文案祝福语简短
13 员工聚会蛋糕祝福语简短
14 元宵发客户祝福语简短
15 给团队信心祝福语简短
16 医美的祝福语大全简短
17 异国姻缘的祝福语简短
18 兄妹拍照祝福语简短的话