最小公倍数

计算1-N 和 多个不连续数字的最小公倍数

∥☆過路亽.° 提交于 2020-01-08 13:27:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 原文: 计算1-N 和 多个不连续数字的最小公倍数 1-N的最小公倍数 /** * 1-N的最小公倍数 * LCM:最小公倍数 * 说明:循环并依次整除,当全部整除时得到的值即为最小公倍数 */ @Test public void testLCM() { int result = 0; int countNum = 20;//需要计算的数目:1-20的最小公倍数 for (int i = 1; i < Integer.MAX_VALUE; i++) { int num = countNum; while(num > 0) { int count = 0; for (int j = 1; j <= countNum; j++) { if(i%j!=0){ break; }else{ count ++; } } if(count==countNum){ result = i; break; } num --; } if(result > 0){ System.out.println("1-"+countNum+"的最小公倍数为:"+result); break; } } } 多个不连续数字的最小公倍数 /** * 多个不连续数字的最小公倍数 */ @Test public void testLCM2(){ int

JS求一个数组元素的最小公倍数

北城以北 提交于 2020-01-08 13:27:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 求几个数的最小公倍数就是先求出前两个数的最小公倍数,然后再把这个最小公倍数跟第三个数放在一起来求最小公倍数,如此类推... var dbList = []; //两个数的最小公倍数 function gcd(a,b){ var minNum = Math.min(a,b),maxNum = Math.max(a,b),i=Math.floor(maxNum/minNum),vper=0; if(a ===0 || b===0){ return maxNum; } for(;i<=maxNum;i++){ vper = minNum * i; if(vper % maxNum === 0){ return vper; break; } } } //求一个数组的最下公倍数 function gcds(arr){ var onum = 0,i = 0,len = arr.length,midNum = 0; for(;i<len;i++){ onum = Math.floor(arr[i]);//去掉小数 midNum = gcd(midNum,onum); } return midNum; } console.log(gcds([2,5,8,21])) 感谢@ 朝闻道1991 指正。 来源: oschina 链接: