OFFSET
0,2
COMMENTS
Nonnegative integers such that the number of ones (A257511) in their factorial base representation (A007623) is zero.
Nonnegative integers such that the least missing nonzero digit (A257079) in their factorial base representation is one.
a(n) can be also directly computed from n by "shifting left" its factorial base representation (that is, by appending one zero to the right, see A153880) and then incrementing all nonzero digits by one, and then converting the resulting (still valid) factorial base number back to decimal. See the examples.
LINKS
Antti Karttunen, Table of n, a(n) for n = 0..40319
EXAMPLE
Factorial base representation (A007623) of 1 is "1", shifting it left yields "10", and when we increment all nonzero digits by one, we get "20", which is the factorial base representation of 4 (as 4 = 2*2! + 0*1!), thus a(1) = 4.
F.b.r. of 2 is "10", shifting it left yields "100", and "200" is f.b.r. of 12, thus a(2) = 12.
F.b.r. of 43 is "1301", shifting it left and incrementing all nonzeros by one yields "24020", which is f.b.r of 340, thus a(43) = 340.
MATHEMATICA
factBaseIntDs[n_] := Module[{m, i, len, dList, currDigit}, i = 1; While[n > i!, i++]; m = n; len = i; dList = Table[0, {len}]; Do[currDigit = 0; While[m >= j!, m = m - j!; currDigit++]; dList[[len - j + 1]] = currDigit, {j, i, 1, -1}]; If[dList[[1]] == 0, dList = Drop[dList, 1]]; dList]; s = Table[FromDigits[factBaseIntDs[n]], {n, 500}]; {0}~Join~Flatten@ Position[s, x_ /; DigitCount[x][[1]] == 0](* Michael De Vlieger, Apr 27 2015, after Alonso del Arte at A007623 *)
Select[Range[0, 444], ! MemberQ[IntegerDigits[#, MixedRadix[Reverse@ Range@ 12]], 1] &] (* Michael De Vlieger, May 30 2016, Version 10.2 *)
r = MixedRadix[Reverse@Range[2, 12]]; Table[FromDigits[Map[If[# == 0, 0, # + 1] &, IntegerDigits[n, r]]~Join~{0}, r], {n, 0, 60}] (* Michael De Vlieger, Aug 14 2016, Version 10.2 *)
PROG
(Scheme, with Antti Karttunen's IntSeq-library)
(define (A255411 n) (let loop ((n n) (z 0) (i 2) (f 2)) (cond ((zero? n) z) (else (let ((d (remainder n i))) (loop (quotient n i) (+ z (* f (+ d (if (zero? d) 0 1)))) (+ 1 i) (* f (+ i 1))))))))
(define A255411 (MATCHING-POS 0 0 isA255411?)) ;; Slow one.
(define (isA255411? n) (let loop ((n n) (i 2)) (cond ((zero? n) #t) ((= 1 (modulo n i)) #f) (else (loop (floor->exact (/ n i)) (+ 1 i))))))
;; Alternative definitions:
(Python)
from sympy import factorial as f
def a007623(n, p=2): return n if n<p else a007623((n//p), p+1)*10 + n%p
def a(n):
x=(str(a007623(n)) + '0')
y="".join(str(int(i) + 1) if int(i)>0 else '0' for i in x)[::-1]
return 0 if n==0 else sum(int(y[i])*f(i + 1) for i in range(len(y)))
print([a(n) for n in range(101)]) # Indranil Ghosh, Jun 20 2017
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Antti Karttunen, Apr 16 2015
STATUS
approved