|
|
A045887
|
|
Number of distinct even numbers visible as proper subsequences of n.
|
|
4
|
|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,21
|
|
LINKS
|
|
|
EXAMPLE
|
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.
|
|
PROG
|
(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)
|
|
CROSSREFS
|
|
|
KEYWORD
|
base,easy,nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
a(102) and a(104) reverted to original values by Sean A. Irvine, Mar 23 2021
|
|
STATUS
|
approved
|
|
|
|