在 JavaScript 中将数字拆分为 n 个彼此靠近的部分
问题
我们需要编写一个JavaScript函数,它接受一个数字num作为第一个参数,另一个数字部分作为第二个参数。
我们的函数应该将数字num精确地分成(部分)数字,我们应该记住这两个条件-
数字应尽可能接近
数字应该是偶数(如果可能的话)。
并且数字的顺序并不重要。
例如,如果函数的输入是-
输入
const num = 20; const parts = 6;
输出
const output = [3, 3, 3, 3, 4, 4];
示例
以下是代码-
const num = 20;
const parts = 6;
const splitNumber = (num = 1, parts = 1) => {
let n = Math.floor(num / parts);
const arr = [];
for (let i = 0; i < parts; i++){
arr.push(n)
};
if(arr.reduce((a, b)=> a + b,0) === num){
return arr;
};
for(let i = 0; i < parts; i++){
arr[i]++;
if(arr.reduce((a, b) => a + b, 0) === num){
return arr;
};
};
};
console.log(splitNumber(num, parts));输出结果[ 4, 4, 3, 3, 3, 3 ]
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短