在 javascript 中查找较大数字的 LCM 时出错
Error finding LCM in javascript with larger numbers
目前正在寻找使用 js 的 LCM 课程。它似乎没有问题,但是当我提交它时,我得到了输入 226553150 1023473145
的失败结果,并且在应该返回 46374212988031350
时返回了 46374212988031340
感谢您所做的一切!
var readline = require('readline');
process.stdin.setEncoding('utf8');
var rl = readline.createInterface({
input: process.stdin,
terminal: false
});
function lcm(a,b) {
return((a*b)/gcd(a,b))
}
function gcd(a,b) {
if(b == 0){
return a;
}
return gcd(b,(a%b));
}
rl.on('line', (line) => {
var a = parseInt(line.toString().split(' ')[0]);
var b = parseInt(line.toString().split(' ')[1]);
console.log(lcm(a,b));
rl.close();
})
JavaScript中的最大安全整数是9007199254740991
,你的结果比那个大。
使用 big integer 包来表示大整数。
目前正在寻找使用 js 的 LCM 课程。它似乎没有问题,但是当我提交它时,我得到了输入 226553150 1023473145
的失败结果,并且在应该返回 46374212988031350
时返回了 46374212988031340
感谢您所做的一切!
var readline = require('readline');
process.stdin.setEncoding('utf8');
var rl = readline.createInterface({
input: process.stdin,
terminal: false
});
function lcm(a,b) {
return((a*b)/gcd(a,b))
}
function gcd(a,b) {
if(b == 0){
return a;
}
return gcd(b,(a%b));
}
rl.on('line', (line) => {
var a = parseInt(line.toString().split(' ')[0]);
var b = parseInt(line.toString().split(' ')[1]);
console.log(lcm(a,b));
rl.close();
})
JavaScript中的最大安全整数是9007199254740991
,你的结果比那个大。
使用 big integer 包来表示大整数。