高精度算法问题
pascal吧
全部回复
仅看楼主
level 5
请大家看看高精度减法这样编行不行(不考虑负数)
var
f1,f2:text;
La,Lb,L,i:integer;
a,b:array[1..500]of integer;
a1,b1:string;
begin
assign(f1,'chenkaige.in');assign(f2,'chenkaige.out');
reset(f1);rewrite(f2);
readln(f1,a1);
La:=length(a1);
for i:=1 to La do
a[La-i+1]:=ord(a1[i])-48;
readln(f1,b1);
Lb:=length(b1);
for i:=1 to Lb do
b[Lb-i+1]:=ord(b1[i])-48;
if La>Lb then L:=La else L:=Lb;
for i:=1 to L do
begin
if La>Lb then a[i]:=a[i]-b[i] else a[i]:=b[i]-a[i];
if a[i]<0 then begin a[i+1]:=a[i+1]-1;a[i]:=a[i]+10;end;
end;
if a[L+1]=0 then L:=L-1;
for i:=L+1 downto 1 do
write(f2,a[i]);
writeln(f2);
close(f1);
close(f2);
end.
谢谢各位大神
2016年05月28日 14点05分 1
1