I am wondering if I could safely replace Module with the Block scoring construct without having scoping issues in this function that computes the number of trailing zeroes in the factorial in arbitrary bases.
factorialZeros[n_Integer, b_Integer] /; n > 1 && b > 1 :=
Module[{pfacs, pexpons},
{pfacs, pexpons} = Transpose[FactorInteger[b]];
Min[Floor[
Map[Sum[Floor[n/#^j], {j, Floor[Log[#, n]]}] &, pfacs]/pexpons]]
]
I try to use Block because it's faster than Module.