cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A038102 Numbers k such that k is a substring of its base-2 representation.

Original entry on oeis.org

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
Offset: 1

Views

Author

Patrick De Geest, Feb 15 1999

Keywords

Examples

			101000_10 = 1100010{101000}1000_2.
		

Crossrefs

Programs

  • 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 *)
  • 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)))}
    \\\ Douglas Latimer, Apr 29 2013
    
  • 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
    print(list(islice(agen(), 35))) # Michael S. Branicky, Jan 04 2022