Pagini recente » Monitorul de evaluare | Cod sursa (job #126037) | Cod sursa (job #2721656) | Cod sursa (job #573249) | Cod sursa (job #191153)
Cod sursa(job #191153)
program psacal;
var f,g:text; p:int64;
x,aux,nr,d,k:int64;
u,v:array[1..10] of int64;
begin
assign(f,'fact.in'); reset(f);
assign(g,'fact.out'); rewrite(g);
read(f,p);
u[1]:=2; v[1]:=10;
u[2]:=24; v[2]:=100;
u[3]:=249; v[3]:=1000;
u[4]:=2499; v[4]:=10000;
u[5]:=24999; v[5]:=100000;
u[6]:=249998; v[6]:=1000000;
u[7]:=2499999; v[7]:=10000000;
u[8]:=24999999; v[8]:=100000000;
u[9]:=249999998; v[9]:=1000000000;
u[10]:=2499999999; v[10]:=100000000;
if p=0 then write(g,1)
else
begin
k:=p;
d:=0;
while p<>0 do
begin
d:=d+1;
p:=p div 10;
end;
p:=k;
k:=u[d];
x:=v[d];
repeat
x:=x+5;
aux:=x;
while (aux mod 5=0) and (aux<>0) do
begin
k:=k+1;
aux:=aux div 5;
end;
until (k=p) or (k>p);
if k=p then write(g,x)
else write(g,-1);
end;
close(f);
close(g);
end.