如何在 Javascript 中用简单的代数方法设置彼此相关的多个变量的值?

问题描述 投票:0回答:1

我正在尝试编写一个程序来按程序生成循环语言。我已经制作了这些字母,并在打好基础后对它们进行硬编码。我有一个问题,我无法根据一个简单的代数方程改变三个变量。我希望长款的长度是小款长度的三倍,中款长度是小款长度的两倍。

我想要做的方式是很长的一行(是的,270 是完整的旋转,代码有点古怪,不要判断);

270=(3*longLength*longCount)+(2*mediumLength*mediumCount)+(shortLength*shortCount);

由于各种原因,这不起作用,但重点是我需要定义长度变量,使它们的比例为 1:2:3,当你添加每个字符的长度时,它达到 270。现在我我正在使用该代码的变体,

//def vars
var shortLength;
var mediumLength;
var longLength;
var shortCount=0;
var mediumCount=0;
var longCount=0;
//I have a counting and input function that works, that's all that needs to be said there, assume that the Values of the counts are neither identically valued, nor at 0
if (totalCount>1){
    shortLength=((-3*longLength*longCount)+(-2*mediumLength*mediumCount)+270)/shortCount;
} else {
    shortLength=270;
    mediumLength=270;
    longLength=270;
}

已磨损,根本无法按预期工作。

javascript variables algebra
1个回答
0
投票

如果你想达到1:2:3的比例,你的代数方程不应该是这样的:

270=(3*longLength*longCount)+(2*mediumLength*mediumCount)+(shortLength*shortCount)

...但是(没有这些系数):

270=(longLength*longCount)+(mediumLength*mediumCount)+(shortLength*shortCount)

系数 3 和 2 将满足以下等式:

mediumLength = 2*shortLength
longLength = 3*longLength

第一个等式可以解为

shortLength
,给你以下三行代码:

shortLength = 270 / (3*longCount + 2*mediumCount + shortCount);
mediumLength = 2*shortLength;
longLength = 3*longLength;
© www.soinside.com 2019 - 2024. All rights reserved.