Pagini recente » Cod sursa (job #3186372) | Cod sursa (job #2011457) | Profil eduard240300 | Cod sursa (job #1062866) | Cod sursa (job #17964)
Cod sursa(job #17964)
var nr0,p5:array[1..200] of longint;
n,p,r1,r2:longint;
f1,f2:text;
procedure nr00;
begin
n:=1;
p5[n]:=1;
nr0[n]:=0;
repeat
n:=n+1;
nr0[n]:=p5[n-1]+nr0[n-1];
p5[n]:=p5[n-1]*5;
until nr0[n]>100000000;
end;
function totprogr(p:longint):longint;
var s,j:longint;
begin
s:=0;
while p<>0 do
begin
j:=1;
while nr0[j]<=p do
j:=j+1;
j:=j-1;
s:=s+ p5[j]*(p div nr0[j]);
p:=p mod nr0[j]
end;
totprogr:=s;
end;
begin
assign(f1,'fact.in');
reset(f1);
assign(f2,'fact.out');
rewrite(f2);
readln(f1,p);
if p=0 then writeln(f2,1)
else
begin
nr00;
r1:=totprogr(p);
r2:=totprogr(p+1);
if r1=r2 then writeln(f2,-1)
else writeln(f2,r1);
end;
close(f1);
close(f2);
end.