京东怎么和客服聊天:求助:关于高精度乘法

来源:百度文库 编辑:神马品牌网 时间:2024/05/02 06:46:19
请帮我解释解释下面的程序哦,看不太懂的说:
procedure Multiply(a, b: Bignum; var c: Bignum);
var
i, j, k: Integer;
begin
Fillchar(c, sizeof(c), 0);
for i := 1 to a[0] do
for j := 1 to b[0] do
begin
k := i + j - 1;
Inc(c[k], a[i] * b[j]);
if c[k] > 9 then
begin
Inc(c[k + 1], c[k] div 10);
c[k] := c[k] mod 10;
end;
end;
if c[a[0] + b[0]] = 0 then c[0] := a[0] + b[0] – 1
else c[0] := a[0] + b[0];
end;