[编辑]
我应该澄清,我试图找到一系列数字的最小公倍数。对于那个很抱歉。我尝试了另一种解决方案,但我仍然在最后一个阵列上遇到了错误的答案[23,18]。
Q
我的解决方案产生2018940,应该是6056820
答案 0 :(得分:2)
你的无限循环是因为你的内部for循环从值19开始并且运行到22
414 (smallestMultiple of 18 & 23) % 19 == 15
414 % 20 = 14
414 % 21 = 15
414 % 22 = 18
如果(count%i == 0)为false并且你的for循环继续使用415 416,则会导致你的陈述......
如果你想得到的话 最不常见的多重
var isSmallestMultipe = 0;
while(isSmallestMultiple == 0)
{
for(var i = 1; i <= arr[1]; i+)
{
if((arr[0]*i) % arr[1] == 0)
{
isSmallestMultiple = arr[0] * i;
}
}
}