Ý tưởng: Tính n!. Xong rồi đổi kết quả đó ra một xâu(hay còn gọi là một chuỗi). Sau đó đếm số 0 như bình thường
uses crt;
var n,i,d,dem:integer;
s:int64;
st:string;
begin
clrscr;
write('n='); readln(n);
s:=1;
for i:=1 to n do
s:=s*i;
str(s,st);
d:=length(st);
dem:=0;
for i:=1 to d do
if st[i]='0' then inc(dem);
writeln('so chu so 0 tan cung cua ',n,'!',' la: ',dem);
readln;
end.