我正在尝试编写一个程序来按程序生成循环语言。我已经制作了这些字母,并在打好基础后对它们进行硬编码。我有一个问题,我无法根据一个简单的代数方程改变三个变量。我希望长款的长度是小款长度的三倍,中款长度是小款长度的两倍。
我想要做的方式是很长的一行(是的,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;
}
已磨损,根本无法按预期工作。
如果你想达到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;