Cod sursa(job #157466)

Utilizator ghitza_2000Stefan Gheorghe ghitza_2000 Data 13 martie 2008 00:51:15
Problema Factorial Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.54 kb
var n,x1,x,p,a,r:longint;
   f:text;
begin
assign(f,'fact.in'); reset(f);
readln(f,p); close(f);
assign(f,'fact.out'); rewrite(f);
if p=0 then writeln(f,'1')
else begin
x:=305175781; n:=1220703125; r:=0;
a:=0;
while x>p do   begin
x:=(x-1)div 5;
n:=n div 5;
end;
while ((x>=1) and (p>5)) do
if ((p>x) and (p>5)) then begin
a:=a+(p div x)*n;
p:=p-x;
x:=(x-1) div 5;
n:=n div 5;
end
else if (p>5) then begin x:=(x-1) div 5;
n:=n div 5;
      end;
while p>0 do
begin
a:=a+5;
p:=p-1;
end;
writeln(f,a);
end;
close(f);
end.