Cod sursa(job #279080)

Utilizator CrisstiHDCristian Holdunu CrisstiHD Data 12 martie 2009 17:46:01
Problema Factorial Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.79 kb
var i,p:longint;    a:array[1..1000000] of longint;
    f:text;
begin
assign (f,'fact.in');
reset (f);
readln (f,p);
close (f);
if p=0 then
begin
assign (f,'fact.out');
rewrite (f);
writeln (f,1);
close(f);
end
else
begin
if p<=5 then
begin
assign (f,'fact.out');
rewrite (f);
writeln (f,p*5);
close (f);
end
else
begin
a[1]:=5;
for i:=2 to (p div 5) do
begin
a[i]:=a[i-1]+6;
end;
dec(i);
if p=a[i] then
begin
assign (f,'fact.out');
rewrite (f);
writeln (f,(p-(i-2)-((p*5) div (25*i)))*5);
close (f);
end
else
if p<a[i] then
begin
assign (f,'fact.out');
rewrite (f);
writeln (f,(p+(i-1)-((p*5) div (25*(i-1))))*5);
close (f);
end
else
begin
assign (f,'fact.out');
rewrite (f);
writeln (f,(p-(i-1)-((p*5) div (25*i)))*5);
close (f);
end;
end;
end;
end.