Cod sursa(job #11263)

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

function descompunere(x,t:longint):longint;
var y,z,nr:longint;
Begin
y:=5;
nr:=0;
While (y<=x) and (t>=nr) do
 Begin
  z:=y;
  While z mod 5=0 do
   Begin
    z:=z div 5;
    inc(nr);
   end;
  y:=y+5;
 end;
descompunere:=nr;
end;

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