bullmath.pas

来自「Magio牛的usaco源代码」· PAS 代码 · 共 51 行

PAS
51
字号
{
PROB:bullmath
LANG:PASCAL
}

program bullmath;
type
  bignum=array[-1..78]of word;
var
  s,t:string;
  a,b,c:bignum;
procedure str2big(s:string;var a:bignum);
  var
    l,i:byte;
  begin
    l:=length(s);
    a[-1]:=l-1;
    for i:=0 to a[-1] do
      a[i]:=ord(s[l-i])-48;
  end;
procedure mul(var a,b,c:bignum);
  var
    i,j:byte;
  begin
    c[-1]:=a[-1]+b[-1];
    for i:=0 to a[-1] do
      for j:=0 to b[-1] do
        inc(c[i+j],a[i]*b[j]);
    for i:=0 to c[-1]-1 do begin
      inc(c[i+1],c[i] div 10);
      c[i]:=c[i] mod 10;
    end;
  end;
procedure out(a:bignum);
  var
    i:byte;
  begin
    for i:=a[-1] downto 0 do
      write(a[i]);
    writeln;
  end;
begin
  assign(input,'bullmath.in');reset(input);
  assign(output,'bullmath.out');rewrite(output);
  readln(s);readln(t);
  str2big(s,a);str2big(t,b);
  mul(a,b,c);
  out(c);
  close(input);close(output);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?