Cod sursa(job #1731195)

Utilizator balazstasiTasi Balazs balazstasi Data 18 iulie 2016 15:16:12
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.76 kb
Program Faktor;
VAR f,g:Text;
    p,s,d,m,k:LongInt;
    Talalat:Boolean;
 
Function Lebontas(x:longint):longint;
var nr:longint;
Begin
nr:=0;
While x div 5<>0 do
 Begin
  nr:=nr+x div 5;
  x:=x div 5;
 end;
Lebontas:=nr;
end;
 
Begin
Assign(f,'fact.in'); Reset(f);
Assign(g,'fact.out'); Rewrite(g);
Read(f,p);
s:=1;
d:=2000000000;
Talalat:=false;
While (s<=d) and (not Talalat) do
 Begin
  m:=(s+d) div 2;
  k:=Lebontas(m);
  If p=k then Talalat:=true
         else If p>k then s:=m+1
                     else d:=m-1;
 end;
If not Talalat then Write(g,-1)
       else
If m<5 then Write(g,1)
       else If (m mod 10) in [0..4] then Write(g,m div 10,0)
                                    else Write(g,m div 10,5);
Close(f);
Close(g);
end.