Pagini recente » Cod sursa (job #1299351) | Cod sursa (job #625861) | Cod sursa (job #2105110) | Cod sursa (job #1434954) | Cod sursa (job #239014)
Cod sursa(job #239014)
program mmm;
var f:text;
n:ansistring;
d,s:int64;
p,i,l:longint;
c,er,t,q:integer;
k,v:array[1..1000001] of 0..9;
begin
assign(f,'next.in');
reset(f);
readln(f,n);
readln(f,d);
p:=length(n);
s:=0;
for i:=1 to p do
begin
val(n[i],c,er);
k[i]:=c;
s:=s*10+c;
s:=s mod d
end;
s:=d-s;
l:=0;
repeat
l:=l+1;
v[l]:=s mod 10;
s:=s div 10
until s=0;
if p>l then begin
for i:=1 to p-1 do begin
if i>l then q:=0
else q:=v[i];
t:=(k[p-i+1]+q) div 10;
k[p-i+1]:=(k[p-i+1]+q) mod 10;
k[p-i]:=k[p-i]+t
end;
if k[p]>9 then begin
k[p]:=k[p] mod 10;
p:=p+1;
k[p]:=1
end
end
else begin for i:=1 to l-1 do begin
if i>p then q:=0
else q:=k[p-i+1];
t:=(v[i]+q) div 10;
v[i]:=(v[i]+q) mod 10;
v[i+1]:=v[i+1]+t
end;
if v[l]>9 then begin
v[l]:=v[l] mod 10;
l:=l+1;
v[l]:=1
end
end;
close(f);
assign(f,'next.out');
rewrite(f);
if p>i then for i:=1 to p do write(f,k[i])
else for i:=l downto 1 do write(f,v[i]);
close(f)
end.