(function () {var addlarge = function (n1,n2) {var carry = 0;
var ret = "";
N1=n1.tostring ();
N2=n2.tostring ();
var len = math.min (n1.length,n2.length);
var sln1 = n1.substr (n1.length-len,n1.length);
var sln2 = n2.substr (n2.length-len,n2.length);
for (var i = len;i > 0; i--) {var di = parseint (sln1[i-1]);
var dj = parseint (Sln2[i-1]); RET = (carry + di + DJ) >= 10?
((Carry + di + DJ)-+ ret): ((CARRY+DI+DJ) + ret); Carry = ((Carry + di + DJ)/10) |
0; } if (N1.length!= n2.length) {if (N1.length > n2.length) {ret = Addlarge (N1.substr (0,n1.length-len), Carr
Y.tostring ()) + ret;
else{ret = Addlarge (N2.substr (0,n2.length-len), carry.tostring ()) + ret;
return ret;
} else{if (carry> 0) {ret = carry+ ret;
return ret.tostring ();
}
}; See this column more highlights: http://www.bianceng.cnhttp://www.bianceng.cn/webkf/script/var multiply = FuNction (n1,n2) {var nstr1 = n1.tostring ();
var nstr2 = n2.tostring ();
var carry = 0;
var ret = "";
var di = 0;
var dj = 0;
var dig = "";
for (var i = nstr1.length-1 I >= 0;i--) {var tmp = "";
var di = parseint (nstr1[i]);
for (var j = nstr2.length-1;j >= 0;j--) {var dj = parseint (Nstr2[j]);
var r = Di*dj + carry;
if (R >=) {carry = (R/10) | 0;
TMP = (R%10) + tmp;
}else{carry=0;
TMP = r + tmp;
} if (Carry > 0) {tmp = carry.tostring () + tmp;
carry = 0;
} if (I < nstr1.length-1) {ret = Addlarge (ret, tmp + dig);
else{ret = tmp;
} Dig + = "0";
return ret;
};
var a = "1543843275857859592482498432243255";
var b = "1554335546546546662";
Console.log (Multiply (a,b));
Console.log (parseint (a) *parseint (b)); })();