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”).

A175349
a(n) is the smallest positive integer that, when written in binary, contains the binary representations of both the n-th prime and the n-th composite as (possibly overlapping) substrings.
2
4, 6, 40, 39, 43, 108, 113, 79, 368, 466, 500, 149, 361, 344, 377, 53, 59, 988, 542, 2272, 2121, 1103, 2259, 356, 609, 1253, 3304, 3434, 876, 2929, 4078, 387, 393, 2226, 4787, 1687, 630, 2615, 1336, 5561, 2874, 5820, 382, 4033, 12608, 8391, 13506, 14276, 8931, 14662
OFFSET
1,1
LINKS
EXAMPLE
The 7th prime is 17, which is 10001 in binary. The 7th composite is 14, which is 1110 in binary. The smallest positive integer that, when written in binary, contains these binary representations as substrings is 113, which is 1110001 in binary. a(7) = 113, therefore.
MAPLE
nextcomp:= proc(c)
if isprime(c+1) then c+2 else c+1 fi
end proc:
f:= proc(p, c)
local Bp, dp, Bc, dc, m, flag1, flag2, x1, x2;
Bp:= convert(convert(p, binary), string); dp:= length(Bp);
Bc:= convert(convert(c, binary), string); dc:= length(Bc);
if dc < dp and StringTools:-Search(Bc, Bp) <> 0 then return p
elif dp < dc and StringTools:-Search(Bp, Bc) <> 0 then return c
fi;
for m from min(dp, dc) to 1 by -1 do
flag1:= Bp[1..m] = Bc[-m..-1];
flag2:= Bc[1..m] = Bp[-m..-1];
if flag1 then x1:= 2^(dp-m) * c + (p mod 2^(dp-m)) fi;
if flag2 then x2:= 2^(dc-m) * p + (c mod 2^(dc-m)) fi;
if flag1 and flag2 then return min(x1, x2)
elif flag1 then return x1
elif flag2 then return x2
fi;
od;
min(p*2^dc + c, c*2^dp+p)
end proc:
p:= 1: c:= 2: R:= NULL:
for n from 1 to 100 do
p:= nextprime(p); c:= nextcomp(c);
R:= R, f(p, c)
od:
R; # Robert Israel, Nov 28 2024
MATHEMATICA
comp[n_] := FixedPoint[n + 1 + PrimePi[#] &, n + 1 + PrimePi[n]]; sub[n_, x_] := MemberQ[Partition[IntegerDigits[n, 2], IntegerLength[x, 2], 1],
IntegerDigits[x, 2]]; a[n_] := Block[{c = comp[n], p = Prime[n], k}, k = Max[p, c]; While[! sub[k, p] || ! sub[k, c], k++]; k]; Array[a, 50] (* Giovanni Resta, Jul 02 2018 *)
CROSSREFS
KEYWORD
base,nonn,look
AUTHOR
Leroy Quet, Apr 19 2010
EXTENSIONS
a(9)-a(50) from Giovanni Resta, Jul 02 2018
STATUS
approved