急求高精度除法的PASCAL完整源代码!!!

来源:百度知道 编辑:UC知道 时间:2024/05/15 02:18:11
明天电脑课要用!!
输入:两个高精度数a,b(少于240位),各占一行。
输出:两行,第一行为a/b的商,第二行为a/b的余数。
输入样例:
23
6

输出样例:
3
5
必须完全符合上述格式,不经任何修改即能测试通过!
今晚10点前提交,过期作废!

program divide;
type gj=array[0..240] of integer;
var a,b,c:gj;
s:string;
i:integer;
function mo_eq(s:integer):boolean;
var i:integer;
begin
if a[0]-s+1>b[0] then exit(true)
else if a[0]-s+1<b[0] then exit(false);
for i:=0 to b[0]-1 do
if a[a[0]-i]>b[b[0]-i] then exit(true)
else if a[a[0]-i]<b[b[0]-i] then exit(false);
mo_eq:=true;
end;
procedure minus(s:integer);
var i,j:integer;
begin
j:=1;
for i:=s to s+b[0]-1 do
begin
if a[i]<b[j] then begin dec(a[i+1]);inc(a[i],10-b[j]);end
else dec(a[i],b[j]);
inc(j);
end;
while (a[0]>0)and(a[a[0]]=0) do dec(a[0]);
if a[0]=0 then a[0]:=1;
end;
procedure print(x:gj);
begin
for i:=x[0] downto 1 do write(x[i]);
writeln;
end;
begin
readln(s);
a[0]:=length(s);
for i:=1 to a[0] do
a[i]:=ord(s[a[0]-i+1])-48;