Pascal高精度加法

Program Plus;

Var a,b,c:array[1..100000] of Integer;

Var i,len:Longint;

Var x,y:String;

Procedure Plus(x,y:String);

Var m:Longint;

Begin

len:=length(x);

For i:=1 to len do a[len-i+1]:=ord(x[i])-ord('0');

Len:=length(y);

For i:=1 to len do b[len-i+1]:=ord(y[i])-ord('0');

IF len<length(x) Then

Len:=length(x);

For i:=1 to len do

Begin

m:=a[i]+b[i]+m div 10;

c[i]:=m mod 10

End;

IF c[i]>=10 Then

Begin

INC(len);

c[len]:=1;

c[len-1]:=c[len-1] mod 10;

End;

End;

Begin

Readln(x);

Readln(y);

Plus(x,y);

For i:=len downto 1 do Write(c[i]);

Readln;

End.

posted @ 2011-07-26 18:21  SkyZone_H  阅读(378)  评论(0编辑  收藏  举报