A045888 Number of distinct odd numbers visible as proper subsequences of n.
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 3, 1, 3
Offset: 1
Examples
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).
Links
- Sean A. Irvine, Table of n, a(n) for n = 1..20000
- Sean A. Irvine, Java program (github).
Programs
-
Mathematica
a[n_] := Count[Union[Most[Rest[Subsets[IntegerDigits[n]]]]], ?(First[#] > 0 && OddQ[Last[#]] &)]; Array[a, 100] (* _Amiram Eldar, Apr 12 2025 *)
-
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
-
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
Extensions
More terms from Larry Reeves (larryr(AT)acm.org), Sep 28 2000
Revised by Sean A. Irvine, Mar 23 2021