Cod sursa(job #11268)

Utilizator Adrian001Vladulescu Adrian Adrian001 Data 30 ianuarie 2007 23:31:14
Problema Factorial Scor 25
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.75 kb
program cel;
var f,g:text;
    p,s,d,m,k:longint;
    gasit:boolean;

function descompunere(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;
descompunere:=nr;
end;

Begin
Assign(f,'fact.in');Reset(f);
Assign(g,'fact.out');Rewrite(g);
Read(f,p);
s:=1;
d:=2000000;
gasit:=false;
While (s<=d) and (not gasit) do
 Begin
  m:=(s+d) div 2;
  k:=descompunere(m);
  If p=k then gasit:=true
         else If p>k then s:=m+1
                     else d:=m-1;
 end;
If s>d 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.