我写这个但没有得到输出 我是用JavaScript解决项目Euler问题的新手 但是得到错误请帮助我。
function pow(n, p) {
var r = (n, 0, 0);
var bn = (n, 0, 0);
for (var i = 1; i < p; i++) {
r = mult(r, bn);
}
return r;
}
function sumDigits(n) {
var bns = bigInt2str(n, 10);
var dStr = 0;
var a = bns.split('');
for (i in a) {
dStr += parseInt(a[i]);
}
return dStr;
}
console.log(sumDigits(pow(2, 1000)));
请帮帮我
答案 0 :(得分:0)
您可以使用:
function pow(n, p) {
var r = bigInt(1); // (n, 0, 0);
var bn = bigInt(n); //var bn = (n, 0, 0);
for (var i = 0; i < p; i++) {
r = r.multiply(bn); //r = mult(r, bn);
}
return r;
}
function sumDigits(n) {
var bns = n.toString(); // bigInt2str(n, 10);
var dStr = 0;
var a = bns.split('');
for (i in a) {
dStr += parseInt(a[i]);
}
return dStr;
}
console.log(sumDigits(pow(2, 1000)));
输出:
1366
REF:
https://www.npmjs.com/package/big-integer
installation If you are using a browser, you can download BigInteger.js from GitHub or just hotlink to it: <script src="http://peterolson.github.com/BigInteger.js/BigInteger.min.js"></script> If you are using node, you can install BigInteger with npm. npm install big-integer Then you can include it in your code: var bigInt = require("big-integer");