OFFSET
1,1
COMMENTS
Given b, the number of trailing zeros at the end of the base-b representation of x! is asymptotic to x/M where M is the maximum over p|b of (p-1)*v_p(b).
Usually only one prime p attains the maximum and then the number is v_p(x!)/v_p(b) for all but finitely many x.
But for b=12,45,80,90,..., at least two v_p(x!) must be computed. For example: if b=12 then for x=2006 there are 998 trailing zeros due to v_3 but for x=2007 there are 999 due to v_2.
REFERENCES
Eryk LIPKA, Automaticity of the sequence of the last nonzero digits of n! in a fixed base, Journal de Théorie des Nombres de Bordeaux 31 (2019), 283-291. [See Theorem 3.7 on page 290, and consider the complementary sequence.] - Jean-Paul Allouche and Don Reble, Oct 22 2020.
LINKS
Alois P. Heinz, Table of n, a(n) for n = 1..2000
J.-P. Allouche, J. Shallit, and R. Yassawi, How to prove that a sequence is not automatic, arXiv:2104.13072 [math.NT], 2021.
EXAMPLE
For b=90 we have (p-1)*v_p(b) = 1, 4, 4 for p = 2, 3, 5 respectively so the maximum of 4 is attained twice (p=3 and p=5).
MAPLE
a:= proc(n) option remember; local k; for k from 1+
`if`(n=1, 1, a(n-1)) while (s-> nops(s)<2 or (l->
l[-2]<l[-1])(sort(map(p-> (p-1)*padic[ordp](k, p),
s))))([numtheory[factorset](k)[]]) do od; k
end:
seq(a(n), n=1..50); # Alois P. Heinz, Oct 23 2020
MATHEMATICA
F[n_] := Module[{f, p, v, vmax}, f = FactorInteger[n]; p = f[[All, 1]]; v = Table[ f[[i, 2]]*(p[[i]]-1), {i, 1, Length[p]}]; vmax = Max[v]; Sum[Boole[v[[i]] == vmax], {i, 1, Length[v]}]]; Reap[For[n = 1, n <= 6400, n++, If[F[n] > 1, Print[n]; Sow[n]]]][[2, 1]] (* Jean-François Alcover, Jan 09 2014, translated from PARI *)
PROG
(PARI) { F(n, f, p, v, vmax)= f=factor(n); p=f[, 1]; v=vector(length(p), i, f[i, 2]*(p[i]-1)); vmax=vecmax(v); sum(i=1, length(v), v[i]==vmax) } for(n=1, 6400, if(F(n)>1, print(n)))
CROSSREFS
KEYWORD
easy,nonn
AUTHOR
Noam D. Elkies, Nov 25 2007
STATUS
approved