我确信这已经回答了其他地方,但对于我的生活,我找不到它。我要做的是,对于给定的n,为所述数字创建一个100的因子数组,包括余数。
例如:n = 535
会回来:
array = [100,100,100,100,100,35]
我一直在尝试使用:
var mindnumbing = Array.apply(null,
Array((N/100))).map(Number.prototype.valueOf,100);
但是无法弄清楚如何携带剩余部分(以及任何非因素100投掷错误,如预期的那样)。
答案 0 :(得分:2)
// create an array and fill it with 100-s "(N/100) rounded down" times:
var array = Array(Math.floor(N / 100)).fill(100);
// and add the "remainder of N/100", which is written as: N%100:
array.push(N%100);
console.log(array);
答案 1 :(得分:0)
这是我想出的:
function splitHundreds(number) {
if( number < 100 ) return [number];
else {
var array = [];
while( number >= 100 ) {
array.push(100);
number -= 100;
}
if( number > 0 ) array.push(number);
return array;
}
}
它没有使用modulo(%
运算符),但似乎适用于我投入的值。
答案 2 :(得分:0)
看不到需要使用d3,你可以这样做:
printf("Version %04x release %s OS %s OS version %s\n",
*(int*)buf,
buf+4,
buf+4+strlen(buf+4)+1,
buf+4+strlen(buf+4+strlen(buf+4)+1)+1
);
答案 3 :(得分:0)
我尝试尽可能少地修改您的代码,但我可能会使用while循环,只是为了更好的可读性。
var mindnumbing = Array.apply(null,
Array((Math.floor(N/100)))).map(Number.prototype.valueOf,100);
var mod=N%100;
if(mod>0){
mindnumbing.push(mod);
}
console.log(mindnumbing);