Cod sursa(job #489806)

Utilizator PlayLikeNeverB4George Marcus PlayLikeNeverB4 Data 3 octombrie 2010 17:04:40
Problema Factorial Scor 55
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.74 kb
program fact;
var f,g:text; p,N:longint; inf:boolean;
function nr_zero(k:longint):longint;
var nr,i:longint;
begin
nr:=0;
i:=5;
While i<=k do
 begin
 inc(nr,k div i);
 i:=i*5;
 end;
nr_zero:=nr;
end;
procedure caut_bin(st,dr:longint);
var mijl,nr:longint;
begin
mijl:=(st+dr) div 2;
If inf then
 begin
 N:=-1;
 exit;
 end;
If (st=mijl)or(dr=mijl) then inf:=true;
nr:=nr_zero(mijl); {nr de 0 al factorialului valorii medii}
If nr>p then caut_bin(st,mijl);
If nr<p then caut_bin(mijl,dr);
If nr=p then N:=mijl;
end;
begin
Assign(f,'fact.in'); Reset(f);
Assign(g,'fact.out');Rewrite(g);
Read(f,p); Close(f);
inf:=false;
caut_bin(1,100000001);
While N mod 5 > 0 do dec(N);
Writeln(g,N); Close(g);
Writeln(nr_zero(1));
end.