Cod sursa(job #143518)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 26 februarie 2008 17:07:48
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.72 kb
program factorial;
var f,g:text;
    cont,k:longint;
    a,c,cc,b,p,s:longint;
begin
assign(f,'fact.in');
assign(g,'fact.out');
reset(f);
rewrite(g);
read(f,k);
if (k=0)then write(g,'1')else
begin
a:=1;
b:=800000030;
p:=0;
s:=0;
while true do
  begin
    inc(s);
    c:=(a+b)div 2;
    cont:=0;
    cc:=c;
    while (cc div 5<>0)do
      begin
        cont:=cont+(cc div 5);
        cc:=cc div 5;
      end;
    if (a=c)then break else
    if (a=b)then break else
    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;
  end;
if (p>0)then write(g,p-(p mod 5)) else write(g,'-1');
end;
close(f);
close(g);
end.