login
A248034
a(n+1) gives the number of occurrences of the last digit of a(n) so far, up to and including a(n), with a(0)=0.
14
0, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, 5, 5, 6, 5, 7, 5, 8, 5, 9, 5, 10, 6, 6, 7, 6, 8, 6, 9, 6, 10, 7, 7, 8, 7, 9, 7, 10, 8, 8, 9, 8, 10, 9, 9, 10
OFFSET
0,4
COMMENTS
In other words, the number to the right of a comma gives the number of occurrences of the digit immediately to the left of the comma, counting from the beginning up to that digit or comma.
LINKS
Eric Angelini, Digit-counters updating themselves, SeqFan list, Oct 11 2014.
MAPLE
a:= proc(n) option remember; `if`(n=0, 0,
coeff(b(n-1), x, irem(a(n-1), 10)))
end:
b:= proc(n) option remember; `if`(n=0, 1, b(n-1)+
add(x^i, i=convert(a(n), base, 10)))
end:
seq(a(n), n=0..120); # Alois P. Heinz, Oct 18 2014
MATHEMATICA
nn = 120; a[0] = j = 0; c[_] := 0; Do[Map[c[#]++ &, IntegerDigits[j]]; a[n] = j = c[Mod[j, 10]], {n, nn}]; Array[a, nn, 0] (* Michael De Vlieger, Aug 07 2023 *)
PROG
(PARI) c=vector(10); print1(a=0); for(n=1, 99, apply(d->c[d+1]++, if(a, digits(a))); print1(", "a=c[1+a%10]))
(MIT/GNU Scheme)
;; An implementation of memoization-macro definec can be found for example from: http://oeis.org/wiki/Memoization
(definec (A248034 n) (if (zero? n) n (vector-ref (A248034aux_digit_counts (- n 1)) (modulo (A248034 (- n 1)) 10))))
(definec (A248034aux_digit_counts n) (cond ((zero? n) (vector 1 0 0 0 0 0 0 0 0 0)) (else (let loop ((digcounts-for-n (vector-copy (A248034aux_digit_counts (- n 1)))) (n (A248034 n))) (cond ((zero? n) digcounts-for-n) (else (vector-set! digcounts-for-n (modulo n 10) (+ 1 (vector-ref digcounts-for-n (modulo n 10)))) (loop digcounts-for-n (floor->exact (/ n 10)))))))))
;; Antti Karttunen, Oct 22 2014
(Python)
from itertools import islice
def A248034_gen(): # generator of terms
c, clist = 0, [1]+[0]*9
while True:
yield c
c = clist[c%10]
for d in str(c):
clist[int(d)] += 1
A248034_list = list(islice(A248034_gen(), 30)) # Chai Wah Wu, Dec 13 2022
CROSSREFS
Cf. A249068 (analogous sequence in base 8).
Cf. A249009 (analogous sequence which uses the first, not the last digit).
Sequence in context: A335497 A309872 A359031 * A358967 A322182 A356348
KEYWORD
nonn,base,look,hear
AUTHOR
Eric Angelini and M. F. Hasler, Oct 11 2014
STATUS
approved