OFFSET
1,13
LINKS
Sean A. Irvine, Table of n, a(n) for n = 1..20000
Sean A. Irvine, Java program (github).
EXAMPLE
The first nonzero entry is a(10) = 1 since we can see 1 as a proper subsequence of 10.
a(105) = 3 since we can see 1, 5, 15 (but not 105).
a(132) = 3 because we can see 1, 3, 13 (subsequences 12, 32 and 132 do not count as they are even and 132 also does not count as it does not come from a proper subsequence of digits of 132).
MATHEMATICA
a[n_] := Count[Union[Most[Rest[Subsets[IntegerDigits[n]]]]], _?(First[#] > 0 && OddQ[Last[#]] &)]; Array[a, 100] (* Amiram Eldar, Apr 12 2025 *)
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 "13579":
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(1, 105)]) # Michael S. Branicky, Mar 24 2021
(PARI) a(n) = {
my(d = digits(n), odds = List());
for(i = 1, #d,
if(bitand(d[i], 1),
forsubset(i-1, s,
c = fromdigits(vector(#s, j, d[s[j]])) * 10+d[i];
listput(odds, c))));
#Set(odds)-bitand(n, 1)
} \\ David A. Corneth, Apr 13 2025
CROSSREFS
KEYWORD
nonn,easy,base,nice
AUTHOR
EXTENSIONS
More terms from Larry Reeves (larryr(AT)acm.org), Sep 28 2000
Revised by Sean A. Irvine, Mar 23 2021
STATUS
approved
