Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #28 Jan 24 2024 01:49:54
%S 0,1,0,1,1,2,0,1,0,1,1,2,0,1,0,1,1,2,1,2,1,2,2,3,0,1,0,1,1,2,0,1,0,1,
%T 1,2,0,1,0,1,1,2,1,2,1,2,2,3,0,1,0,1,1,2,0,1,0,1,1,2,0,1,0,1,1,2,1,2,
%U 1,2,2,3,0,1,0,1,1,2,0,1,0,1,1,2,0,1,0,1,1,2,1,2,1,2,2,3,1,2,1,2,2,3,1,2,1,2,2,3,1,2,1,2,2,3,2,3,2,3,3,4,0
%N a(0) = 0; for n >= 1, a(n) = A000035(n) + a(A257684(n)); in the factorial representation of n the number of digits with maximal possible value allowed in its location.
%C In the factorial representation of n, given as {d_k, ..., d_3, d_2, d_1}, the maximal allowed digit for any position j is j. This sequence gives the number of digits in the whole representation [A007623(n)] that attain that maximum allowed value.
%H <a href="/index/Fa#facbase">Index entries for sequences related to factorial base representation</a>.
%F a(0) = 0; for n >= 1, a(n) = A000035(n) + a(A257684(n)).
%F Other identities. For all n >= 1:
%F a(n!-1) = n-1. [n!-1 also gives the first position where n-1 occurs.]
%e For n=19, which has factorial representation "301", the digits at position 1 and 3, namely "1" and "3" are equal to their one-based position index, in other words, the maximal digits allowed in those positions (while "0" at position 2 is not), thus a(19) = 2.
%t a[n_] := Module[{k = n, m = 2, c = 0, r}, While[{k, r} = QuotientRemainder[k, m]; k != 0 || r != 0, If[r == m - 1, c++]; m++]; c]; Array[a, 100, 0] (* _Amiram Eldar_, Jan 23 2024 *)
%o (Scheme, with memoization-macro definec)
%o (definec (A260736 n) (if (zero? n) 0 (+ (A000035 n) (A260736 (A257684 n)))))
%o (Python)
%o from sympy import factorial as f
%o def a007623(n, p=2): return n if n<p else a007623(n//p, p+1)*10 + n%p
%o def a257684(n):
%o x=str(a007623(n))[:-1]
%o y="".join(str(int(i) - 1) if int(i)>0 else '0' for i in x)[::-1]
%o return 0 if n==1 else sum(int(y[i])*f(i + 1) for i in range(len(y)))
%o def a(n): return 0 if n==0 else n%2 + a(a257684(n))
%o print([a(n) for n in range(101)]) # _Indranil Ghosh_, Jun 20 2017
%Y Cf. A000035, A007623, A257684.
%Y Cf. also A257511.
%K nonn,base
%O 0,6
%A _Antti Karttunen_, Aug 27 2015