码迷,mamicode.com
首页 > Web开发 > 详细

[JS]求一组数的最小公倍数

时间:2018-10-04 10:31:35      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:rap   大小   排序   col   math   span   code   app   n+1   

求两个数最小公倍数的办法:两数相乘除以最大公因数。

方法:

  1. 先求出前两个数的最小公倍数
  2. 用上一步的最小公倍数和新的数求最小公倍数

 

题目:

找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。

范围是两个数字构成的数组,两个数字不一定按数字顺序排序。

题目来源:freecodecamp

 1 function smallestCommons(arr) {
 2  var min=Math.min(arr[0],arr[1]);//确定大小顺序
 3  var max=Math.max(arr[0],arr[1]);
 4  var result=Common(min,min+1);//初始result
 5  min+=2;
 6  for(;min<=max;++min)
 7    
 8  {
 9   result=Common(result,min);
10  }
11   return result;
12 }
13 
14 function Common(m,n)
15 {
16   var arr=[],i;
17   var r=m*n;
18   if(m%n==0) return m;//如果本来就是倍数关系,直接返回大数
19   for(i=2;i<=m;++i)
20     {
21       if(m%i==0) arr.push(i);//求大数的所有因数
22     }
23   for(i=n;i>=2;--i)//从最大因数向下检索是否存在另一个数的因数
24     {
25       if(n%i==0&&arr.indexOf(i)!=-1) 
26          return m*n/i;//存在直接返回两数之积除以最大公因数
27         
28         
29     }
30   
31   return r;//若两数相质,直接返回两数乘积
32 
33 }
34 
35 smallestCommons([1,13]);

 

[JS]求一组数的最小公倍数

标签:rap   大小   排序   col   math   span   code   app   n+1   

原文地址:https://www.cnblogs.com/cuphoria/p/9741115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!