Cod sursa(job #143489)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 26 februarie 2008 16:35:18
Problema Factorial Scor 85
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.67 kb
program factorial;
var f,g:text;
    cont,k:longint;
    a,c,cc,b,p:longint;
begin
assign(f,'fact.in');
assign(g,'fact.out');
reset(f);
rewrite(g);
read(f,k);
a:=1;
b:=2000000000;
p:=0;
while true do
  begin
    c:=(a+b)div 2;
    if (c=0)then break;
    cont:=0;
    cc:=c;
    while (cc div 5<>0)do
      begin
        cont:=cont+(cc div 5);
        cc:=cc div 5;
      end;
    if (cont<k)then a:=c+1 else
    if (cont>k)then b:=c-1 else
    if (cont=k)then
      begin
        p:=c;
        break;
      end else
    if (a=b)then break;
    if (p>=4)then break;
  end;
if (p>0)then write(g,p-(p mod 5)) else write(g,'-1');
close(f);
close(g);
end.