login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A336004
Numbers whose mixed binary-ternary representation is not a binary or ternary representation. See Comments.
3
13, 14, 22, 23, 26, 31, 35, 38, 39, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 58, 59, 62, 67, 70, 71, 73, 74, 75, 76, 77, 78, 79, 85, 86, 89, 94, 95, 97, 98, 103, 104, 107, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 131
OFFSET
1,1
COMMENTS
Suppose that B1 and B2 are increasing sequences of positive integers, and let B be the increasing sequence of numbers in the union of B1 and B2. Every positive integer n has a unique representation given by the greedy algorithm with B1 as base, and likewise for B2 and B. For many n, the number of terms in the B-representation of n is less than the number of terms in the B1-representation, as well as the B2-representation, but not for all n, as in the example 45 = 27 + 18 (ternary) and 45 = 32 + 9 + 4 (mixed).
Note that 1 and 2 = 10_2 = 2_3 are each representable as terms in both binary and ternary. - Michael S. Branicky, Jan 06 2022
EXAMPLE
7 = 6 + 1 = 21_3 is not a term;
11 = 9 + 2 = 102_3 is not a term;
13 = 9 + 4 = 3^2 + 2^2 is a term;
22 = 18 + 4 = 2*3^2 + 2^2 is a term.
MATHEMATICA
u = Table[2^n, {n, 0, 50}]; v = Table[3^n, {n, 0, 40}];
uQ[n_] := MemberQ[u, n]; vQ[n_] := MemberQ[v, n];
Attributes[uQ] = {Listable}; Attributes[vQ] = {Listable};
s = Reverse[Union[Flatten[Table[{2^(n - 1), 3^n}, {n, 1, 30}]]]];
w = Map[#[[1]] &, Select[Map[{#[[1]], {Apply[And, uQ[#[[2]]]],
Apply[And, vQ[#[[2]]]]}} &, Map[{#, DeleteCases[
s Reap[FoldList[(Sow[Quotient[#1, #2]]; Mod[#1, #2]) &, #,
s]][[2, 1]], 0]} &,
Range[700]]], #[[2]] == {False, False} &]]
(* Peter J. C. Moses, Jun 14 2020 *)
PROG
(Python)
from itertools import count, takewhile
N = 10**6
B1 = list(takewhile(lambda x: x[0] <= N, ((2**i, 2) for i in count(0))))
B21 = list(takewhile(lambda x: x[0] <= N, ((3**i, 3) for i in count(0))))
B22 = list(takewhile(lambda x: x[0] <= N, ((2*3**i, 3) for i in count(0))))
B = sorted(set(B1 + B21 + B22), reverse=True)
def ok(n):
r, bases = [], set()
for t, b in B:
if t <= n:
r.append(t)
if t != 1 and t != 2:
bases.add(b)
n -= t
if n == 0:
return len(bases) == 2
print([k for k in range(1, 132) if ok(k)]) # Michael S. Branicky, Jan 06 2022
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Clark Kimberling, Jul 06 2020
EXTENSIONS
Terms and examples corrected by Michael S. Branicky, Jan 06 2022
STATUS
approved