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.

A045887 Number of distinct even numbers visible as proper subsequences of n.

Original entry on oeis.org

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 2, 2, 4, 2, 4
Offset: 0

Views

Author

Keywords

Examples

			a(10)=1 because we can form 0.
a(24)=2 because we can form 2, 4.
a(102)=4 because we can form 0, 2, 10, 12.
a(124)=5 because we can form the following even numbers: 2, 4, 12, 14, 24.
		

Crossrefs

Programs

  • Python
    from itertools import combinations
    def a(n):
      s, eset = str(n), set()
      for i in range(len(s)):
        for j in range(i+1, len(s)+1):
          if s[j-1] in "02468":
            if len(s[i:j]) <= 2 and j-i < len(s):
              eset.add(int(s[i:j]))
            else:
              middle = s[i+1:j-1]
              for k in range(len(middle)+1):
                for c in combinations(middle, k):
                  t = s[i] + "".join(c) + s[j-1]
                  if len(t) < len(s):
                    eset.add(int(t))
      return len(eset)
    print([a(n) for n in range(105)]) # Michael S. Branicky, Mar 24 2021

Extensions

More terms from Fabian Rothelius, Feb 08 2001
a(102) and a(104) corrected by Reinhard Zumkeller, Jul 19 2011
a(102) and a(104) reverted to original values by Sean A. Irvine, Mar 23 2021