Javascript 如何线性分配值

Javascript 如何线性分配值,javascript,distribution,Javascript,Distribution,我总共有10000个,我想要分布在99个点上,不是等分,而是在一条增加的线性曲线上。因此,虽然第一个分数可能只值[例如]10,但接下来的每一个分数都会更值钱,直到最后一个分数值[例如]250左右。但是所有的分数都需要10000分。我怎么能这么做 //编辑:10和250的第一个和最后一个值只是示例,它们可以是任何真正的值。虽然总数(10000)需要可变,因此我可以在需要时将其更改为20000。从3开始,上升到199,跨越99个点,总计10000。这是一个硬件问题吗 var total = 0; f

我总共有10000个,我想要分布在99个点上,不是等分,而是在一条增加的线性曲线上。因此,虽然第一个分数可能只值[例如]10,但接下来的每一个分数都会更值钱,直到最后一个分数值[例如]250左右。但是所有的分数都需要10000分。我怎么能这么做


//编辑:10和250的第一个和最后一个值只是示例,它们可以是任何真正的值。虽然总数(10000)需要可变,因此我可以在需要时将其更改为20000。

从3开始,上升到199,跨越99个点,总计10000。这是一个硬件问题吗

var total = 0;
for (var i = 1; i < 100; i += 1) {
    total += i * 2 + 1;
}
alert(total);
var总计=0;
对于(变量i=1;i<100;i+=1){
总数+=i*2+1;
}
警报(总数);

这很模糊,但如果第一个点的值为
X
,且连续点之间的间隙为
Y
,则总共99个这样的点是

 (99 * X) + (0.5 * 99 * 98 * Y)

您可以使用此公式来使用适当的
X
Y
值,这样您的总数为10000。例如,您可以先修复
X
,然后求解
Y
的总和,但这可能不会产生整数结果,这可能会使其不适用。不幸的是,对于某些总数,可能没有整数解决方案
X
Y
,但您的要求似乎相当随意,因此我相信您可以使用上述方法得出适合您需要的
X
Y
和总数。它可能会为你服务,直到你得到一个更好的答案。

取99个单元格的值
[1,2,3,4,…,99]
,然后将每个数字乘以
S/4950
,其中
S
是所需的总和(例如S=10000)。

我得到的答案是x_I=10+9010*I/4851,表示I=0,1,2,…,98。但是最后一个单元格x_98大约是192,而不是250。如果你需要第一个单元格为10,最后一个单元格为250,加上99分,这是不可能的。这是线性增加还是以曲线方式增加?我只是对这个问题做了一些澄清(我没想到答案中不包括10000分!),但总数字需要可变,但是第一个和最后一个值只是示例,可以灵活使用。“硬件”和硬件一样吗?我实际上是在尝试分配一个游戏的奖励,在游戏中一级一级地递增。但那10000需要是可变的。谢谢你的建议,但我需要一个解决方案,其中10000个总数是可变的。@Essential我想你不明白答案。我说过你可以用它作为任何总数的指南-上面的表达式是给定的总起点,值为X,连续点之间的间隔长度为Y。谢谢你的建议,但我需要一个10000个总数可变的解决方案。谢谢Matt!我想知道你是怎么得到4950的数字的,但后来意识到那是1到99的总和。@qaiser。