我需要将一个数字拆分为多个部分
我想要每个部分中每个连续数字之间的部分数量
例如
如果给定的数字是20
且部分的数量是3
然后需要将数字1到20分成三个部分。
所以结果将是
第1部分= [1,4,7,10,13,16,19]
//之间的任何
第2节= [2,5,8,11,14,17,20]
第3节= [3,6,9,12,15,18]
我正在使用javascript来执行此操作....任何想法
抱歉我的英文不好
答案 0 :(得分:4)
您可以使用两个嵌套的for
循环,并将这些部分和值计算到最大值
function getSection(sections, max) {
var value, result = [], i;
for (i = 1; i <= sections; i++) {
result.push([]);
for (value = i; value <= max; value += sections) {
result[i - 1].push(value);
}
}
return result;
}
console.log(getSection(3, 20));
答案 1 :(得分:1)
类似的东西:
function get_s(s_cnt, w_num) {
var a = new Array(s_cnt), b = Math.ceil(w_num/s_cnt), c = w_num;
for (var i=0; i<s_cnt; i++) {
var b_ = (b < c) ? b : c; c -= b;
a[i] = new Array(b_);
for (var j=0; j<b_; j++) {
a[i][j] = j*s_cnt + i + 1;
}
}
return a;
}
var s = get_s(3,20);
for (var i=0; i<3; i++) console.log("section "+(i+1)+": "+s[i].join(", "));