求算法???
实现一个高精度无符号整数乘法的函数,函数原型为void Multiply(WORD *R, WORD* A, WORD *B, unsigned int N),其中R为结果,A与B为两个乘数,N为乘数的长度(单位为WORD)。WORD为你们定义的存储长整数每一部分的类型.其中A和B都是二进制,使用http://www.gdcp.cn/jpkc/sjjg/app/jm/bignumber_mul/solution.htm
上的算法写递归程序.把下面的函数原型改了就可以了,谢谢大家了,我实在写不出
function MULT(X,Y,n); {X和Y为2个小于2n的整数,返回结果为X和Y的乘积XY}begin S:=SIGN(X)*SIGN(Y); {S为X和Y的符号乘积}
X:=ABS(X); Y:=ABS(Y); {X和Y分别取绝对值}
if n=1 then
if (X=1)and(Y=1) then return(S)
else return(0)
else
begin
A:=X的左边n/2位;
B:=X的右边n/2位;
C:=Y的左边n/2位;
D:=Y的右边n/2位;
ml:=MULT(A,C,n/2);
m2:=MULT(A-B,D-C,n/2);
m3:=MULT(B,D,n/2);
S:=S*(m1*2n+(m1+m2+m3)*2n/2+m3);
return(S);
end;
end;