用表法求最小公倍数
Finding Least Common Multiple using Table Method
本文关键字:最小公倍数 更新时间:2023-09-26
使用表法找到所提供参数的最小公倍数,该倍数可以被这两个参数以及这些参数之间范围内的所有序号平均整除。只有两个参数。对于ex[1,3],求1,2,3的lcm
注意-它可能会创建一个无限循环
function smallestCommons(arr) {
var nums = [];
var multiples = [];
if(arr[0]>arr[1]) {
var bigger = arr[0];
} else {
var bigger = arr[1];
}
for(var i=bigger;i>0;i--) {
nums.push(i);
console.log(i);
}console.log(nums + " nums");
var sums = 0;
while(sums != nums.length) {
for(var k=0;k<nums.length;k++) {
if(nums[k] % 2 === 0) {
nums[k] = nums[k]/2;
multiples.push(2);
} else if(nums[k] % 3 === 0) {
nums[k] = nums[k]/3;
multiples.push(3);
}else if(nums[k] % 5 === 0) {
nums[k] = nums[k]/5;
multiples.push(5);
}else if(nums[k] % 7 === 0) {
nums[k] = nums[k]/7;
multiples.push(7);
}else if(nums[k] === 1) {
break;
}else {
nums[k] = nums[k]/nums[k];
multiples.push(nums[k]);
}
}
for(var j = bigger; j>0;j--) {
sums = sums + nums[j];
}
}
var scm = [multiples].reduce(function(a,b){console.log(a*b)}); return scm
}
smallestCommons([1,5]);
我发现这是一个简单的解决方案,它的工作奇迹;
- 循环所有可能的数字,从下限输入(var i)开始
- 对于每个数字,在输入边界(var j)之间测试每个数字的可除性
- 如果i满足所有条件,将其作为答案返回,否则将i增加1并重试
点击这里查看?变量初始化操作符
function smallestCommons(arr) {
//set variables for upper and lower bounds
//incase they aren't entered in ascending order
var big = arr[0] < arr[1] ? arr[1]:arr[0],
small = arr[0] < arr[1] ? arr[0]:arr[1],
i = small;
//loop through all numbers, note the possibility of an infinite loop
while(true){
//test each number for divisibility by by both upper and lower
//bounds, as well as by all sequential numbers inbetween
for(var j = small; j <= big; j++){
if(i % j === 0){
if(j===big){
return i;
}
}else {
break;
}
}
i++;
}
}
smallestCommons([1,5]); //60
你需要的是找到范围(n, m)内的LCM ?
用质因数分解找到最小公倍数似乎更好。你可以用勒让德公式找出n的所有质因数!和米!,然后做一个简单的减法
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 序列化数据属性中对象的最可靠方法
- 测试索引值是否等于某个数字的倍数
- 在输入字段中将最小金额设置为
- Rails File_field最大堆栈大小
- 使用javascript存储变量的最安全方式
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 如何使刻度四舍五入到最接近的 # 的倍数
- 通过JavaScript将数字舍入到0.11的最接近倍数
- 如何在TeeChart上为javascript设置最大放大倍数
- 用表法求最小公倍数
- 查找最小倍数
- JavaScript的大公约数/最小公约数
- 减去10的最大倍数
- 如何查找一系列数字的最小公倍数
- 最小公倍数可整除
- 将数字减少到最接近的 3 的倍数
- 随机组合的最小最小公乘数
- 向上舍入到最接近的 12 的倍数
- Javascript最小倍数不断崩溃