2017-05-29 1 views
2

Derzeit versucht LCM mit js für einen Kurs zu finden. Es scheint kein Problem zu funktionieren, aber wenn ich es einreiche, erhalte ich ein gescheitertes Ergebnis für die Eingabe 226553150 1023473145 und das gibt 46374212988031340 zurück, wenn es zurückgeben sollte 46374212988031350 Danke für alles, was Sie tun können!Fehler beim Suchen LCM in Javascript mit größeren Zahlen

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(); 
}) 

Antwort

2

Die die maximale sichere ganze Zahl in JavaScript ist 9007199254740991 und Ihr Ergebnis ist größer als das.

Verwenden Sie ein big integer-Paket, um große Ganzzahlen darzustellen.

+0

Ich kann nur eine Datei senden –

+1

Anscheinend erhalten Sie die richtige Antwort, wenn Sie LCM wie dieses 'a * (b/gcd (a, b))' ' –

+0

berechnen, das ist sonderbar aber cool! –

Verwandte Themen