Cod sursa(job #38989)

Utilizator raduzerRadu Zernoveanu raduzer Data 26 martie 2007 12:34:37
Problema Next Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.98 kb
var a:array[1..1000000]of int64;
    d,r:int64;
    i,j,z,x:integer;
    c:char;

procedure add;
var i:integer;
    t:int64;
begin
     t:=r;
     i:=0;
     while t>0 do
     begin
          i:=i+1;
          if i>z then z:=z+1;
          a[i]:=a[i]+t;
          t:=a[i] div 10;
          a[i]:=a[i] mod 10;
     end;
end;

procedure rest;
var i:integer;
begin
     r:=0;
     for i:=z downto 1 do
     begin
          r:=(r*10+a[i]) mod d;
     end;
end;

begin
     assign(input,'next.in');
     reset(input);
     assign(output,'next.out');
     rewrite(output);
     z:=0;
     while not eoln do
     begin
          read(c);
          z:=z+1;
          a[z]:=ord(c)-ord('0');
     end;
     readln(d);

     for i:=1 to z div 2 do
     begin
          x:=a[i];
          a[i]:=a[z+1-i];
          a[z+1-i]:=x;
     end;
     rest;
     r:=d-r;
     add;
     for i:=z downto 1 do
     begin
          write(a[i]);
     end;
close(output);
end.