Cod sursa(job #155159)

Utilizator TudorutzuMusoiu Tudor Tudorutzu Data 11 martie 2008 19:29:38
Problema Next Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.23 kb
type sir=array[0..1000000] of byte;
const cifre=[0..9];
var f,g:text;
    nn,i,y,t:longint;
    d,x,r:extended;
    o:char;
    oo:integer;
    n:sir;
{procedure modd(n:sir; d:real; var r:extended);
var i:longint;
begin
     for i:=1 to nn do
          r:=trunc((trunc(r)*10+n[i]))mod trunc(d);
end;
procedure plus(var n:sir; x:extended);
var i,t,y:longint;
begin
     T:=0;
     for i:=nn downto 0 do
     begin
          y:=n[i]+trunc(x) mod 10+t;
          n[i]:=y mod 10;
          t:=y div 10;
          x:=trunc(x) div 10;
     end;
end;}
begin
     assign(f,'next.in'); reset(f);
     assign(g,'next.out'); rewrite(g);
     i:=0;
     while not eoln(f) do
     begin
          inc(i); read(f,o);
          oo:=ord(o)-ord('0');
          if oo in cifre then n[i]:=oo;
     end;
     nn:=i;
     readln(f);
     readln(f,d);
     for i:=1 to nn do
          r:=trunc((trunc(r)*10+n[i]))mod trunc(d);
     x:=d-r;
     for i:=nn downto 0 do
     begin
          y:=n[i]+trunc(x)mod 10+t;
          n[i]:=y mod 10;
          t:=y div 10;
          x:=trunc(x) div 10;
     end;
     if n[0]=0 then for i:=1 to nn do write(g,n[i])
               else for i:=0 to nn do write(g,n[i]);
     close(g);
end.