Cod sursa(job #133634)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 9 februarie 2008 12:43:42
Problema Next Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.94 kb
program next;
var f,g:text;
    x,v,b,p:string;
    d,a,r:int64;
    l,n,c,i,t:longint;
    cod:integer;
    m:array[1..1000000] of longint;
begin
assign(f,'next.in');
assign(g,'next.out');
reset(f);
rewrite(g);
while not seekeoln(f) do
  read(F,v);
read(f,d);
str(d,x);
l:=length(x);
n:=length(v);
c:=l;
p:='';
for i:=1 to l do p:=p+v[i];
if (v[1]<x[1])then
  begin
    p:=p+x[l+1];
    c:=c+1;
  end;
val(p,a,cod);
r:=a mod d;
for i:=c+1 to n do
  begin
    a:=r+(ord(v[i])-ord('0'));
    r:=a mod d;
  end;
r:=d-r;
str(r,b);
l:=length(b);
for i:=length(v)-l+1 to length(v) do
  b[i]:=b[i-(length(v)-l)];
for i:=1 to length(v)-length(b) do
  b[i]:='0';
t:=0;
for i:=length(v) downto 1 do
  begin
    m[i]:=t+ord(v[i])-ord('0')+ord(b[i])-ord('0');
    t:=m[i] div 10;
    if (m[i]>=10)then
      m[i]:=m[i] mod 10;
  end;
if (t>0)then write(g,t);
for i:=1 to length(v) do
  write(g,m[i]);
close(f);
close(G);
end.