首页 > 代码库 > js-找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。
js-找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。
存档。
找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。
1 function smallestCommons(arr) { 2 //分解质因数法,分解为若干个质数相乘 3 var arrratio=[]; 4 var l=0; 5 var min=Math.min(arr[0],arr[1]); 6 var max=Math.max(arr[0],arr[1]); 7 for(var i=min+1;i<max;i++){ 8 arr.push(i); 9 } 10 11 /* var prime=[2]; 12 for(var j=3;j<=max;j++){ 13 var isprime=1; 14 for(var k=2;k<j;k++){ 15 if(j%k===0){ 16 isprime=-1; 17 } 18 } 19 if(isprime===1){ 20 prime.push(j); 21 } 22 }*/ 23 24 var arrtemp=[]; 25 for(var j=2;j<=max;j++){ 26 arrtemp.push(j); 27 } 28 var prime=arrtemp.filter(function(val){ 29 for(var k=2;k<val;k++){ 30 if(val%k===0){ 31 return false; 32 } 33 } 34 return true; 35 }); 36 37 while(arr.reduce(function(a,b){return a+b;})!==(max-min+1)){ 38 for(var m=0;m<prime.length;m++){ 39 var isratio=-1; 40 for(var n=0;n<arr.length;n++){ 41 if(arr[n]%prime[m]===0){ 42 isratio=1; 43 arr[n]=arr[n]/prime[m]; 44 } 45 } 46 if(isratio===1){ 47 arrratio[l++]=prime[m]; 48 } 49 } 50 } 51 52 return arrratio.reduce(function(a,b){return a*b;}); 53 54 } 55 56 57 smallestCommons([12,13]);
js-找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。