JavaScript中数字2 pow 1000的数字总和是多少?

时间:2016-10-04 05:38:19

标签: javascript biginteger

我写这个但没有得到输出 我是用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)));

请帮帮我

1 个答案:

答案 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");

请参阅:https://github.com/peterolson/BigInteger.js

相关问题