Cod sursa(job #252213)

Utilizator b_ady20Branescu Adrian b_ady20 Data 3 februarie 2009 23:58:02
Problema Factorial Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.79 kb
var i,p:longint;    a:array[1..20000] of 1..50000;
    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.