|
|
A038102
|
|
Numbers k such that k is a substring of its base-2 representation.
|
|
13
|
|
|
0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1100, 1101, 10000, 10001, 10011, 10100, 10101, 10111, 11000, 11001, 11100, 11101, 100000, 100001, 101000, 101010, 101100, 101101, 101111, 110000, 110001, 110101, 111100, 111101, 1000000
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
LINKS
|
|
|
EXAMPLE
|
101000_10 = 1100010{101000}1000_2.
|
|
MATHEMATICA
|
Select[FromDigits /@ IntegerDigits[Range[2^15]-1, 2], StringPosition[StringJoin @@ (ToString /@ IntegerDigits[#, 2]), ToString@#] != {} &] (* terms < 10^15, Giovanni Resta, Apr 30 2013 *)
f[n_] := Block[{a = FromDigits@ IntegerDigits[n, 2]}, If[ StringPosition[ ToString@ FromDigits@ IntegerDigits[ a, 2], ToString@ a] != {}, a, 0]]; k = 0; lst = {}; While[k < 65, AppendTo[lst, f@k]; lst = Union@ lst; k++]; lst (* Robert G. Wilson v, Jun 29 2014 *)
|
|
PROG
|
(PARI) {for(vv=0, 200, bvv=binary(vv);
mm=length(bvv); texp=0; btod=0;
forstep(i=mm, 1, -1, btod=btod+bvv[i]*10^texp; texp++);
bigb=binary(btod); lbb=length(bigb); swsq=1;
for(k=0, lbb - mm , for(j=1, mm, if(bvv[j]!=bigb[j+k], swsq=0));
if(swsq==1, print1(btod, ", "); break, swsq=1)))}
(Python)
from itertools import count, islice, product
def ok(n): return int(max(str(n))) < 2 and str(n) in bin(n)
def agen(): # generator of terms
yield 0
for d in count(1):
for rest in product("01", repeat=d-1):
k = int("1" + "".join(rest))
if ok(k):
yield k
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base,easy
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|