Pagini recente » Cod sursa (job #3176411) | Cod sursa (job #2688754) | Cod sursa (job #2250716) | Cod sursa (job #3176408) | Cod sursa (job #907789)
Cod sursa(job #907789)
Var
n,mijPrec,nZero,numFact,zerouri:int64;
Procedure scrie(numar:int64);
begin
while (numar mod 5<>0) do
numar:=numar-1;
writeln(output,numar);
end;
Procedure zero(num,p:int64);
begin
nZero:=num div p;
if nZero>0 then
begin
zerouri:=zerouri+nZero;
zero(num,p*5);
end;
end;
Procedure bin(min,max:int64);
Var
mij:int64;
Begin
mij := (min+max) Div 2;
zerouri:=0;
zero(mij,5);
if mij=mijPrec then
writeln(output,'-1') else
begin
If mij>0 Then
Begin
If zerouri>n Then
begin
mijPrec:=mij;
bin(min,mij-1);
end;
If zerouri<n Then
begin
mijPrec:=mij;
bin(mij+1,max);
end;
If zerouri=n Then
begin
scrie(mij);
halt();
end;
End
Else
writeln(output,'-1');
End;
End;
Begin
assign(input,'fact.in'); reset(input);
assign(output,'fact.out'); rewrite(output);
read(input,n);
if n=0 then
writeln(output,1) else
bin(1,400000015);
End.