【发布时间】:2020-05-25 20:39:10
【问题描述】:
我正在做欧拉问题,你需要找到一个阶乘数的整数之和。所以例如10!是 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27。 我使用 big-int 库编写了这个来处理大量数字。
factorialize =(num)=> {
if (num < 0) {
return -1;
}
else if (num == 0) {
return 1;
}
else {
return (num * factorialize(num - 1));
}
}
findFactorialSum=(x)=>{
let total=0;
let result = bigInt(factorialize(x));
// let result=factorialize(x).toString().split("").map(el => parseInt(el));
// result.split("");
let converted = result.toString().split("").map(el => parseInt(el));
console.log(converted);
for(let i=0;i<=converted.length-1;i++)
{
total=total+converted[i]
}
console.log(total);
return total;
}
这适用于小阶乘并给出正确答案,但一旦你选择大于 12 的东西,它就会给出错误答案,例如 100 我得到 683,但根据网站的答案应该是 648 >
【问题讨论】:
标签: javascript biginteger