login
The least nonzero digit missing from the factorial representation (A007623) of n.
9

%I #18 Jan 24 2024 01:49:39

%S 1,2,2,2,1,3,2,2,2,2,3,3,1,3,3,3,1,3,1,2,2,2,1,4,2,2,2,2,3,3,2,2,2,2,

%T 3,3,3,3,3,3,3,3,2,2,2,2,4,4,1,3,3,3,1,3,3,3,3,3,3,3,1,3,3,3,1,3,1,4,

%U 4,4,1,4,1,2,2,2,1,4,2,2,2,2,4,4,1,4,4,4,1,4,1,2,2,2,1,4,1,2,2,2,1,3,2,2,2,2,3,3,1,3,3,3,1,3,1,2,2,2,1,5,2

%N The least nonzero digit missing from the factorial representation (A007623) of n.

%H Antti Karttunen, <a href="/A257079/b257079.txt">Table of n, a(n) for n = 0..10080</a>

%H Eric Angelini, et al., <a href="http://list.seqfan.eu/oldermail/seqfan/2015-April/014728.html">"Multiply by the fantom digit", Discussion on Seqfan-list</a>.

%F Other identities:

%F For all n >= 1, a(A033312(n)) = n. [n! - 1 gives the first position where n appears. Note also how the digits in factorial base representation may get arbitrarily large values.]

%e The least digit > 0 missing from the factorial representation (A007623) of zero, "0", is 1, thus a(0) = 1.

%e The least digit > 0 missing from the factorial representation of one, "1", is 2, thus a(1) = 2.

%e The least digit > 0 missing from the factorial representation of 21, "311", is 2, thus a(21) = 2.

%t a[n_] := Module[{k = n, m = 2, r, s = {}}, While[{k, r} = QuotientRemainder[k, m]; k != 0|| r != 0, AppendTo[s, r]; m++]; Min[Complement[Range[Max[s]+1], s]]]; a[0] = 1; Array[a, 100, 0] (* _Amiram Eldar_, Jan 24 2024 *)

%o (Scheme)

%o (define (A257079 n) (let loop ((digs (uniq (sort (n->factbase n) <))) (mnp 1)) (cond ((null? digs) mnp) ((zero? (car digs)) (loop (cdr digs) mnp)) ((= (car digs) mnp) (loop (cdr digs) (+ 1 mnp))) (else mnp))))

%o ;; Convert an integer to a factorial expansion list:

%o (define (n->factbase n) (let loop ((n n) (fex (if (zero? n) (list 0) (list))) (i 2)) (cond ((zero? n) fex) (else (loop (floor->exact (/ n i)) (cons (modulo n i) fex) (1+ i))))))

%o (define (uniq lista) (let loop ((lista lista) (z (list))) (cond ((null? lista) (reverse! z)) ((and (pair? z) (equal? (car z) (car lista))) (loop (cdr lista) z)) (else (loop (cdr lista) (cons (car lista) z))))))

%Y Cf. A007623, A257080.

%Y Cf. A033312 (the positions of records from a(1) onward.)

%Y Cf. A255411 (the positions of ones.)

%K nonn,base

%O 0,2

%A _Antti Karttunen_, Apr 15 2015