Cod sursa(job #148298)

Utilizator nod_softwareBudisteanu Ionut Alexandru nod_software Data 4 martie 2008 09:02:41
Problema Factorial Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.14 kb
program fact;   
var n2,n5,nn,i,p,n,aux:longint;   
    fin,fout:text;   
    ok:boolean;   
{*---------MAIN-----------------*}  
begin  
  assign(fin,'fact.in');   
  assign(fout,'fact.out');   
  reset(fin);   
  rewrite(fout);   
  readln(fin,p);   
  ok:=true;   
if p > 10 then  
begin  
  aux:=p div 10;   
  n:=4;   
  for i:=1 to aux do  
    n:=n+40;   
end  
else n:=0;   
  while ok do  
    begin  
      inc(n);   
      n2:=0;   
      n5:=0;   
      for i:=1 to n do  
        begin  
          aux:=i;   
          while aux mod 2 = 0 do  
            begin  
              inc(n2);   
              aux := aux div 2;   
            end;   
          while aux mod 5 = 0 do  
            begin  
              inc(n5);   
              aux := aux div 5;   
            end;   
        end;   
      nn:=n2;   
      if n5 < n2 then nn:=n5;   
      if nn = p then  
        begin  
          writeln(fout,n);   
          ok:=false;   
        end;   
      if nn >p then  
        begin  
          writeln(fout,-1);   
          ok:=false;   
        end;   
    end;   
  close(fout);   
end.