login
Ordinal transform of the final nonzero digit of the factorial numbers.
2

%I #80 Dec 11 2023 15:27:49

%S 1,2,1,1,1,2,3,2,4,1,2,3,2,4,5,5,6,3,7,6,3,4,8,5,4,6,7,9,8,5,10,11,6,

%T 12,7,8,9,9,10,13,11,12,10,13,14,7,8,14,9,11,15,16,12,17,15,13,14,16,

%U 15,10,11,12,18,13,16,14,15,19,16,17,17,18,17,19,20

%N Ordinal transform of the final nonzero digit of the factorial numbers.

%C n is the a(n)-th nonnegative integer producing value A008904(n).

%H Alois P. Heinz, <a href="/A367799/b367799.txt">Table of n, a(n) for n = 0..20000</a>

%F Ordinal transform of A008904.

%F a(n) = |{ j in {0..n} : A008904(j) = A008904(n) }|.

%e a(11) = 3 because 11! = 39916800 is the third factorial with final nonzero digit 8 after 9! = 362880 and 10! = 3628800. A008904(k) = 8 for k = 9, 10, 11, ... .

%o (Python)

%o from functools import reduce

%o from itertools import count, islice

%o from collections import Counter

%o from sympy.ntheory.factor_ import digits

%o def A367799_gen(): # generator of terms

%o c = Counter()

%o for n in count(0):

%o c[m:=reduce(lambda x,y:x*y%10,(((6,2,4,8,6,2,4,8,2,4,8,6,6,2,4,8,4,8,6,2)[(a<<2)|(i*a&3)] if i*a else (1,1,2,6,4)[a]) for i, a in enumerate(digits(n,5)[-1:0:-1])),6) if n>1 else 1]+=1

%o yield c[m]

%o A367799_list = list(islice(A367799_gen(),50)) # _Chai Wah Wu_, Dec 08 2023

%Y Cf. A000142, A004154, A008904, A368010.

%K nonn,base

%O 0,2

%A _Alois P. Heinz_, Dec 07 2023