cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A358854 Number of even digits necessary to write all the numbers from 0 up to n.

Original entry on oeis.org

1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 12, 13, 15, 16, 18, 19, 21, 22, 24, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 32, 33, 35, 36, 38, 39, 41, 42, 44, 45, 46, 46, 47, 47, 48, 48, 49, 49, 50, 50, 52, 53, 55, 56, 58, 59, 61, 62, 64, 65, 66, 66, 67, 67, 68, 68
Offset: 0

Views

Author

Bernard Schott, Dec 03 2022

Keywords

Comments

Inspired by problem 1 of British Mathematical Olympiad, round 1, in 2016/2017 (link).

Crossrefs

Programs

  • Maple
    a:= proc(n) option remember; `if`(n<0, 0, a(n-1)+
          nops(select(x-> x::even, convert(n, base, 10))))
        end:
    seq(a(n), n=0..100);  # Alois P. Heinz, Feb 19 2023
  • Mathematica
    Accumulate[Table[Count[IntegerDigits[n], ?EvenQ], {n, 0, 100}]] (* _Amiram Eldar, Dec 03 2022 *)
  • Python
    from itertools import accumulate, count, islice
    def A196563(n): return sum(1 for d in str(n) if d in "02468")
    def agen(): yield from accumulate(A196563(n) for n in count(0))
    print(list(islice(agen(), 76))) # Michael S. Branicky, Dec 03 2022

Formula

a(n) = A117804(n+1) - A279766(n) (number of total digits - number of odd digits).
a(n) = Sum_{k=0..n} A196563(k).