最小公共倍数[Javascript挑战]
问题:找到所提供参数的最小公倍数,该公倍数可以被二者以及这些参数之间的所有序列号平均除 范围将是两个数字的数组,不一定是数字顺序 例如,如果给定1和3,则找到1和3的最小公倍数,该公倍数也可被1和3之间的所有数字整除,即可被1、2和3整除。这里的答案是6最小公共倍数[Javascript挑战],javascript,algorithm,Javascript,Algorithm,问题:找到所提供参数的最小公倍数,该公倍数可以被二者以及这些参数之间的所有序列号平均除 范围将是两个数字的数组,不一定是数字顺序 例如,如果给定1和3,则找到1和3的最小公倍数,该公倍数也可被1和3之间的所有数字整除,即可被1、2和3整除。这里的答案是6 function smallestCommons(arr) { var max=Math.max(...arr); var min=Math.min(...arr); var flag = 0; var i = min;
function smallestCommons(arr) {
var max=Math.max(...arr);
var min=Math.min(...arr);
var flag = 0;
var i = min;
while(true)
{for(var j=min;j<=max;j++)
{if(i%j!=0)
{flag=1;
break;}
}
if(flag==0)
{flag=5;
break;
}
i++;
}
console.log(i);
}
smallestCommons([1,5]);
function smallestCommons(arr){
var max=数学最大值(…arr);
var min=数学最小值(…arr);
var标志=0;
var i=最小值;
while(true)
{for(var j=min;j@凯文对它不工作的原因给出了很好的解释。只有当标志为0
时,循环才会停止。但一旦它被设置为1
,你就永远不会将它重置为0
function smallestCommons(arr){
var max=数学最大值(…arr);
var min=数学最小值(…arr);
var标志=0;
var i=最小值;
while(true){
对于(var j=min;j我确实找到了解决方案,这要感谢主要评论部分中的两位编程极客
function smallestCommons(arr) {
var max=Math.max(...arr);
var min=Math.min(...arr);
var flag = 0;
var count = 0;
var i = 1;
while(1){
for(var j=min;j<=max;j++)
{if(i%j!=0)
{flag=1;
break;}
if(j==max){
flag=0;
}
}
if(flag==0){
break;
}
i++;
}
console.log(i);
}
smallestCommons([10,2]);
function smallestCommons(arr){
var max=数学最大值(…arr);
var min=数学最小值(…arr);
var标志=0;
var计数=0;
var i=1;
而(1){
对于(var j=min;juse the debugger是的,我尝试过调试。但这一切似乎都不起作用。我对这一切都比较陌生。因此调试对我来说很困难。StackOverflow会知道...\ux。当你将标志设置为不同于0的值时,你的循环将变得无限。你只会在标志=0时停止while循环。@AdilAhmed debuging IIt’这是编程中的一项关键技能。你现在应该花点时间来学习这项技能。尼斯!我很高兴你找到了解决方案。是的,伙计。这非常有效。我确实花了一些时间来理解你的代码,但现在我明白了,我可以放心地说我的疑问已经消除了。谢谢你的时间。:)