gpt4 book ai didi

javascript - 算法 - 计算范围内的陷波值

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:27:39 24 4
gpt4 key购买 nike

给定这些输入:开始、结束、凹口数

start = a number;
end = a larger number;
numberOfNotches = a number; // includes start and end values

我如何计算显示范围的中间值?

例如:

start = 100;
end = 200;
numberOfNotches = 6; // includes start and end values

输出:

100 ----- 120 ----- 140 ----- 160 ----- 180 ----- 200 

这是我目前在 JavaScript 中的内容

function getNotchValues(from, to, numberOfNotches){
var step = Math.floor( ( (to - from) / (numberOfNotches-2) ));

from = Math.floor(from/step)*step;
to = Math.ceil(to/step)*step;
var arr = [];
for(var i=from; i<=to; i=i+step){
arr.push(i);
}
return arr;
}

这是我到目前为止的逻辑,但对我来说没有用:http://jsfiddle.net/w8vwG/

最佳答案

看起来像 off-by-one/fencepost问题。似乎只需一个小改动就可以正常工作:

(numberOfNotches-1)

在这一行中:

var step = Math.floor( ( (to - from) / (numberOfNotches-1) ));

编辑:

我认为这是一个完整的解决方案,在我的下面的评论中处理了这个问题:

http://jsfiddle.net/RKx87/

function getNotchValues(from, to, numberOfNotches) {
var step = Math.floor(((to - from) / (numberOfNotches - 1)));

var arr = [];
for (var i = from; i <= to; i = i + step) {
arr.push(i);
}
arr[arr.length - 1] = to
return arr;
}

关于javascript - 算法 - 计算范围内的陷波值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22720544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com