var start = +new Date();
var f = [];
function fact(n){
n = new BigNumber(n);
if(n==0||n==1) return 1;
else if(f[n]>0) return f[n];
else return f[n]=(new BigNumber(fact(n.subtract(1))).multiply(n)).toString();
}
num = eval(fact(100).split('').join('+'));
document.write("Euler #20 Javascript: "+num+" Total Time: "+((+new Date() - start)/1000)+"sec
");
Euler Problem #20:
648 total time: 0sececho array_sum(str_split(gmp_strval(gmp_fact(100))));