我做了一个NodeJS程序,它接受成对的整数(
m, n
)作为输入并打印
sum
它们的阶乘(
facm, factn
)在控制台上。我用了大整数。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());
}