Pagini recente » Cod sursa (job #2385134) | Cod sursa (job #599026) | Cod sursa (job #338012) | Cod sursa (job #565960) | Cod sursa (job #39152)
Cod sursa(job #39152)
var a:array[1..1000000]of integer;
b:array[1..20]of integer;
d,r:int64;
i,j,z,x:longint;
c:ansistring;
procedure add;
var i:longint;
t:int64;
min:integer;
begin
t:=0;
i:=0;
min:=x;
if z<min then min:=z;
while (i<min)or(t>0) do
begin
i:=i+1;
if i>z then z:=z+1;
if i>x then a[i]:=a[i]+t
else a[i]:=a[i]+b[i]+t;
t:=a[i] div 10;
a[i]:=a[i] mod 10;
end;
end;
procedure rest;
var i:longint;
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);
readln(c);
readln(d);
z:=length(c);
for i:=1 to length(c) do
begin
a[z+1-i]:=ord(c[i])-ord('0');
end;
rest;
r:=(d-r) mod d;
x:=0;
while r>0 do
begin
x:=x+1;
b[x]:=r mod 10;
r:=r div 10;
end;
add;
for i:=z downto 1 do
begin
write(a[i]);
end;
close(output);
end.