Я создал программу NodeJS, которая принимает пары целых чисел (m, n
) в качестве входных данных и печатает sum
их факториалов (facm, factn
) на консоли.Я использовал библиотеку BigInteger.js, чтобы можно было вычислять, используя большие числа.
Но когда я ввожу 20 1
, программа просто выводит значение 20!вместо 20!+1!Это не добавляет.Почему?
(По какой-то причине он работает, когда два входа одинаковы, например, 20 20
. Он также работает, когда значения меньше.)
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var lines = input.split('\n');
var bigInt = require("big-integer");
for (var i = 0; lines[i] != ""; i++) {
var strings = lines[i].split(" ");
var m = parseInt(strings[0]);
var n = parseInt(strings[1]);
var factm = bigInt(1);
var factn = bigInt(1);
for (var a = m; a != 0; a--) {
factm = factm.multiply(a);
}
for (var b = n; b != 0; b--) {
factn = factn.multiply(b);
}
var sum = factm.add(factn);
console.log(sum.toString());
}