A247648 Numbers whose binary expansion begins and ends with 1 and does not contain two adjacent zeros.
1, 3, 5, 7, 11, 13, 15, 21, 23, 27, 29, 31, 43, 45, 47, 53, 55, 59, 61, 63, 85, 87, 91, 93, 95, 107, 109, 111, 117, 119, 123, 125, 127, 171, 173, 175, 181, 183, 187, 189, 191, 213, 215, 219, 221, 223, 235, 237, 239, 245, 247, 251, 253
Offset: 1
Examples
109 is in the sequence because its binary expansion is 1101101.
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 1..121392 (all terms < 2^24; first 1000 terms from Chai Wah Wu)
- Andreas M. Hinz and Paul K. Stockmeyer, Discovering Fibonacci Numbers, Fibonacci Words, and a Fibonacci Fractal in the Tower of Hanoi, The Fibonacci Quarterly (2019) Vol. 57, No. 5, 72-83.
- Andreas M. Hinz and Paul K. Stockmeyer, Precious Metal Sequences and Sierpinski-Type Graphs, J. Integer Seq., Vol 25 (2022), Article 22.4.8.
- N. J. A. Sloane, On the Number of ON Cells in Cellular Automata, arXiv:1503.01168 [math.CO], 2015.
- Stefan Witzel, On panel-regular ~A2 lattices, Geom. Dedicata 191, 85-135 (2017).
Programs
-
Haskell
import Data.Set (singleton, deleteFindMin, insert) a247648 n = a247648_list !! (n-1) a247648_list = f $ singleton 1 where f s = x : f (insert (4 * x + 1) $ insert (2 * x + 1) s') where (x, s') = deleteFindMin s -- Reinhard Zumkeller, Sep 25 2014
-
Maple
vitopart := proc (n) local L, i, j, N, p, t: N := 2*n: L := ListTools:-Reverse(convert(N, base, 2)): j := 0: for i to nops(L) do if L[i] = 0 then j := j+1: p[j] := numboccur(L[1 .. i], 1) end if end do: sort([seq(p[t], t = 1 .. j)], `>=`) end proc: a := proc (n) if n = 1 then 1 elif `mod`(n, 2) = 0 then a((1/2)*n) elif `mod`(n, 2) = 1 and `mod`((1/2)*n-1/2, 2) = 0 then a((1/2)*n-1/2)+1 else a((1/2)*n-1/2) end if end proc: A := {}: for n to 254 do if a(n) = nops(vitopart(n)) then A := `union`(A, {n}) else end if end do: A; # program is based on my comment; the command vitopart(n) yields the integer partition having viabin number n. # Emeric Deutsch, Aug 29 2017
-
Mathematica
Select[Range@ 256, And[First@ # == Last@ # == 1, NoneTrue[Map[Length, Select[Split[#], First@ # == 0 &]], # > 1 &]] &@ IntegerDigits[#, 2] &] (* Michael De Vlieger, Aug 29 2017 *)
-
PARI
isok(k) = if (k%2, my(b=binary(k)); #select(x->(x==0), vector(#b-1, k, b[k]+b[k+1])) == 0); \\ Michel Marcus, Jun 15 2024
-
Python
A247648_list = [n for n in range(1,10**5) if n % 2 and not '00' in bin(n)] # Chai Wah Wu, Sep 25 2014
Comments