欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

js-FCC算法Smallest Common Multiple。找出两个参数和它们之间的连续数字的最小公倍数。...

发布时间:2025/7/14 编程问答 64 豆豆
生活随笔 收集整理的这篇文章主要介绍了 js-FCC算法Smallest Common Multiple。找出两个参数和它们之间的连续数字的最小公倍数。... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

存档。

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

function smallestCommons(arr) {//分解质因数法,分解为若干个质数相乘var arrratio=[];var min=Math.min(arr[0],arr[1]);var max=Math.max(arr[0],arr[1]);for(var i=min+1;i<max;i++){arr.push(i);}//找出小于max的所有质数var arrtemp=[];for(var j=2;j<=max;j++){arrtemp.push(j);}var prime=arrtemp.filter(function(val){for(var k=2;k<val;k++){if(val%k===0){return false;}}return true;});//用这一排数分别除以从小到大的质数,如果某个数能除尽,则把那个数变为除后的数,把这个质数放在arrratio数组里备用。直至arr里每个数都变成1。这个方法是分解质因数法,详情见小学或初中课本。while(arr.reduce(function(a,b){return a+b;})!==(max-min+1)){for(var m=0;m<prime.length;m++){var isratio=0;for(var n=0;n<arr.length;n++){if(arr[n]%prime[m]===0){isratio=1;arr[n]=arr[n]/prime[m]; }}if(isratio){arrratio[arrratio.length]=prime[m];}}}//最后把arrratio数组里的数相乘便是这一组数的最小公倍数。return arrratio.reduce(function(a,b){return a*b;});}smallestCommons([1,13]);

1到13的数的最小公倍数

 

总结

以上是生活随笔为你收集整理的js-FCC算法Smallest Common Multiple。找出两个参数和它们之间的连续数字的最小公倍数。...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。