PASCAL 求高精度算法

来源:百度知道 编辑:UC知道 时间:2024/06/12 02:29:53
求高精度的四则运算算法,要 真代码写成函数的
funtain cheng(x1,x2)
这种

写成函数的不好做
四则一起的

type hp=array[-1..1000] of longint;
var
a,b,c,d:hp;
l1,l2,l3,i,code:longint;
n1,n2:string;
procedure init(var a:hp);
var
s:string;
i:longint;
begin
fillchar(a,sizeof(a),0);
readln(s);
a[0]:=length(s);
for i:=1 to a[0] do
a[i]:=ord(s[a[0]+1-i])-48;
end;
procedure print(a:hp);
var
i:longint;
begin
for i:=a[0] downto 1 do
write(a[i]);
writeln;
end;
procedure clear(var a:hp);
var
i:longint;
begin
for i:=1 to a[0] do
begin
inc(a[i+1],a[i] div 10);
a[i]:=a[i] mod 10;
end;
while (a[a[0]]=0) and (a[0]>1) do dec(a[0]);
end;
function compare(a,b:hp):longint;
var
i:longint;
begin
clear(a);
clear(b);
if a[0]>b[0] then begin compare:=1; exit; end;
if a[0]<b[0] then begin compare:=-1;