示例#1
0
// Perform the logic for solving the problem.
function process ( n )
{

    var fileLines = fs.readFileSync (
        'data/euler0013.txt' ).toString ().split ( /\r?\n/ );
    var number = new BigInteger ();

    // add all the numbers together
    for ( var i = 0; i < fileLines.length; ++i )
        number = number.plus ( new BigInteger ( fileLines [i] ) );

    // return the first 10 digits
    return number.toString ().slice ( 0, 10 );
}
示例#2
0
        bigNumberReadIntBE: function (buffer, offset, byteLength) {
            offset = offset >>> 0
            byteLength = byteLength >>> 0

            var i = byteLength
            var mul = new BigInt("1");
            var val = new BigInt(buffer[offset + --i]);
            while (i > 0 && (mul = mul.times(0x100))) {
                var temp = new BigInt(buffer[offset + --i]);
                val = val.plus(temp.times(mul));
            }
            mul = mul.times(0x80);

            if (val.greater(mul)) {
                var subtrahend = new BigInt(2);
                val = val.minus(subtrahend.pow(8 * byteLength));
            }

            return val
        }