Pagini recente » Cod sursa (job #1280150) | Monitorul de evaluare | Cod sursa (job #3135931) | Cod sursa (job #694547) | Cod sursa (job #9165)
Cod sursa(job #9165)
program factorial;
var f:text;
v:array[1..100] of longint;
n,nr,p,pt,d,put:longint;
ok:boolean;
begin
assign(f,'fact.in'); reset(f);
readln(f,p);
close(f);
nr:=0;
ok:=true;
n:=p;
assign(f,'fact.out'); rewrite(f);
while (ok) and (n<>0) do
begin
d:=1;
pt:=0;
put:=0;
while pt <n do
begin
pt:=pt*5+1;
d:=d*5;
put:=put+1;
end;
if pt-n<put then ok:=false;
pt:=(pt-1) div 5;
nr:=nr+d div 5;
n:=n-pt;
end;
if p=0 then writeln(f,'1')
else
if not ok then writeln(f,'-1')
else writeln(f,nr);
close(f);
end.