Cod sursa(job #419742)

Utilizator lsorin_94Lodoaba Sorin lsorin_94 Data 17 martie 2010 22:20:22
Problema Factorial Scor 25
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.81 kb
program factorial;
var k,n:longint;
    f,t:text;

function fact(n,k:longint):longint;
var x:int64;
    i:longint;
begin
  x:=n;i:=0;
  repeat
    i:=i+x div 5;
    x:=x div 5;
    if i>k then break;
  until x=0;
  fact:=i;
end;

function cif(k:longint) :int64;
var i,x,h,n:longint;
    da:boolean;
begin
  n:=70000;
  for i:=1 to n do
    begin
      x:=fact(i,k);
      if x=k then
        begin
          da:=true;
          h:=i;
          break;
        end;
      if x>k then break;
    end;
  if da then cif:=h
        else cif:=-1;
end;

begin
  assign(f,'fact.in');
  reset(f);
  read(f,k);
  close(f);
  n:=1;
  {------------------}
  if k=0 then k:=1
         else k:=cif(k);
  {------------------}
  assign(t,'fact.out');
  rewrite(t);
  write(t,k);
  close(t);
end.