login
a(n) is the least frequent digit of n! not counting trailing zeros, or -1 if there is more than one least frequent digit.
1

%I #17 Sep 15 2024 20:24:26

%S 1,1,2,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,

%T -1,2,-1,-1,7,0,4,-1,-1,-1,-1,-1,-1,8,-1,-1,-1,8,-1,-1,9,-1,-1,0,9,9,

%U -1,-1,-1,1,-1,-1,2,-1,-1,5,5,1,4,5,7,-1,5,-1,6,6,0,-1,5,9,6,-1,0,5,9

%N a(n) is the least frequent digit of n! not counting trailing zeros, or -1 if there is more than one least frequent digit.

%C Analogous to A375348.

%C If we were to count trailing zeros, then a(n) would never equal zero, for all n's >= 0. Therefore we only consider the decimal digits of A004154.

%C Conjecture: excluding -1, as n -> oo, the digits distribution is uniform as in A375348.

%e a(0) = a(1) = 1 because 0! = 1! = 1 and 1 is the only digit present;

%e a(4) = -1 since 4! = 24 and there are two least frequent digits, 2 and 4.

%e a(14) = 9 because 14! = 87178291200 and, not counting the two trailing 0's, there are two 1's, two 2's, two 7's, two 8's but only one 9.

%p f:= proc(n) local L,j;

%p L:= convert(n!,base,10);

%p for j from 1 while L[j] = 0 do od:

%p L:= Statistics:-Tally(L[j...-1]);

%p L:= sort(L,(a,b) -> rhs(a) < rhs(b));

%p if nops(L) >= 2 and rhs(L[2]) = rhs(L[1]) then -1 else lhs(L[1]) fi

%p end proc:

%p map(f, [$0..100]); # _Robert Israel_, Sep 02 2024

%t Rarest[lst_] := MinimalBy[ Tally[lst], Last][[All, 1]]; a[n_] := If[ Length[c = Rarest[ IntegerDigits[n!/10^IntegerExponent[n!, 10]] ]] >1, -1, c[[1]]]; Array[a, 80, 0]

%o (Python)

%o from collections import Counter

%o from sympy import factorial

%o def A375575(n): return -1 if len(k:=Counter(str(factorial(n)).rstrip('0')).most_common()) > 1 and k[-1][1]==k[-2][1] else int(k[-1][0]) # _Chai Wah Wu_, Sep 15 2024

%Y Cf. A004154, A027869, A031144, A034886, A061010, A137579, A137580, A375348.

%K base,easy,sign

%O 0,3

%A _Stefano Spezia_ and _Robert G. Wilson v_, Aug 19 2024