Cod sursa(job #1226805)
Utilizator | Data | 8 septembrie 2014 05:02:31 | |
---|---|---|---|
Problema | Factorial | Scor | 20 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
program factorial;
var f : text;
p,s,i,n : longint;
begin
assign(f,'fact.in'); reset(f);
read(f,p);
close(f);
s := 1; i := 1; n := 0;
while n < p do begin
if i mod 5 = 0 then begin
s := (s*i) mod 100000;
while s mod 10 = 0 do begin
n := n+1;
s := s div 10;
end;
end
else s := (s*i) mod 100000;
i := i+1;
end;
assign(f,'fact.out'); rewrite(f);
if p = 0 then write(f,1)
else if n = p then write(f,i-1)
else write(f,-1);
close(f);
end.