login
Where the race of the count of final nonzero digit of k! changes, starting at k=2.
1

%I #27 Dec 07 2023 09:51:00

%S 2,16,50,80,88,108,110,264,273,291,326,336,669,671,678,685,718,721,

%T 738,764,773,791,826,836,1433,1435,1558,1560,1616,1629,1636,1694,1696,

%U 1764,1773,1791,1826,1836,1928,1935,1968,1971,1988,2014,2023,2041,2076,2086

%N Where the race of the count of final nonzero digit of k! changes, starting at k=2.

%H Chai Wah Wu, <a href="/A058376/b058376.txt">Table of n, a(n) for n = 1..10000</a>

%H <a href="/index/Fi#final">Index entries for sequences related to final digits of numbers</a>

%e a(1) = 2 to start the race. At 15! the number of final twos is 5 and so is the number of eights. But at 16, eights now lead twos, so a(2) = 16 to reflect this fact.

%e When k=10000 is reached, the count stands at 2509 twos, 2486 fours, 2494 sixes, and 2510 eights.

%t f[ n_Integer, m_Integer ] := (c = 0; p = 1; While[ d = Floor[ n/5^p ]; d > 0, c = c + d; p++ ]; Mod[ n!/10^c, m ]); a = Table[ 0, {4} ]; r = 4; Do[ b = f[ n, 10 ]; Switch[ b, 2, a[ [ 1 ] ]++, 4, a[ [ 2 ] ]++, 6, a[ [ 3 ] ]++, 8, a[ [ 4 ] ]++ ]; If[ a[ [ b/2 ] ] > a[ [ r/2 ] ], r = b; Print[ n ] ], {n, 2, 10^4} ]

%o (Python)

%o from functools import reduce

%o from itertools import count, islice

%o from sympy.ntheory.factor_ import digits

%o def A058376_gen(): # generator of terms

%o a, k, i = [0]*4, 0, 1

%o for n in count(2):

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

%o a[m] += 1

%o if a[m] > k:

%o if m!=i:

%o yield n

%o i, k = m, a[m]

%o A058376_list = list(islice(A058376_gen(),48)) # _Chai Wah Wu_, Dec 07 2023

%Y Cf. A045547, A045548, A045549, A045550.

%K nonn,base

%O 1,1

%A _Robert G. Wilson v_, Dec 19 2000

%E Offset 1 from _Michel Marcus_, Jul 25 2021