Project Euler Problem 13 - riemann79/hello-world GitHub Wiki
function digits(arr) {
var n = arr.length;
var m = arr[0].length;
var carry = 0;
var digits = [];
// Sum each column.
for(var k = 0; k < n; k++) {
var sum = 0;
for(var z = 0; z < m; z++) {
sum += arr[k][z];
}
var cs = carry + sum;
var digit = cs % 10;
digits.push(digit);
carry = Math.floor(cs / 10);
}
// Add the digits of the carry, if any.
if(carry > 0) {
var q = carry;
var i = 1;
while(q > 0) {
var pow = Math.pow(10, i);
digits.push(q % pow);
q = Math.floor(q / pow);
i++;
}
}
digits.reverse();
return digits;
}