Pagini recente » Cod sursa (job #1712341) | Cod sursa (job #1242362) | Cod sursa (job #3262104) | Cod sursa (job #1460313) | Cod sursa (job #38228)
Cod sursa(job #38228)
type vector=array[0..1000010]of longint;
var n,re:vector;
d,r:int64;
i,aux:longint;
c:char;
procedure aduna(var v:vector;n:int64);
var i:longint;
begin
i:=1;
while n>0 do
begin
v[i]:=v[i]+n mod 10;
n:=n div 10;
inc(v[i+1],v[i] div 10);
v[i]:=v[i] mod 10;
inc(i);
end;
while v[i]>=10 do
begin
inc(v[i+1],v[i] div 10);
v[i]:=v[i] mod 10;
inc(i);
end;
while v[v[0]+1]>0 do
inc(v[0]);
end;
begin
assign(input,'next.in');reset(input);
assign(output,'next.out');rewrite(output);
while not eoln do
begin
read(c);
inc(n[0]);
n[n[0]]:=ord(c)-48;
end;
readln;
readln(d);
for i:=1 to n[0] div 2 do
begin
aux:=n[i];
n[i]:=n[n[0]-i+1];
n[n[0]-i+1]:=aux;
end;
for i:=n[0] downto 1 do
r:=(r*10+n[i]) mod d;
r:=d-r;
if r=d then
r:=0;
aduna(n,r);
for i:=n[0] downto 1 do
write(n[i]);
close(input);close(output);
end.