OFFSET
1,1
LINKS
Robert Israel, Table of n, a(n) for n = 1..10000
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
AUTHOR
Leroy Quet, Apr 19 2010
EXTENSIONS
a(9)-a(50) from Giovanni Resta, Jul 02 2018
STATUS
approved