|
|
A089633
|
|
Numbers having no more than one 0 in their binary representation.
|
|
35
|
|
|
0, 1, 2, 3, 5, 6, 7, 11, 13, 14, 15, 23, 27, 29, 30, 31, 47, 55, 59, 61, 62, 63, 95, 111, 119, 123, 125, 126, 127, 191, 223, 239, 247, 251, 253, 254, 255, 383, 447, 479, 495, 503, 507, 509, 510, 511, 767, 895, 959, 991, 1007, 1015, 1019, 1021, 1022, 1023
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
COMMENTS
|
Numbers of the form 2^t - 2^k - 1, 0 <= k < t.
n is in the sequence if and only if 2*n+1 is in the sequence. - Robert Israel, Dec 14 2018
|
|
LINKS
|
|
|
FORMULA
|
a(0)=0, n>0: a(n+1) = Min{m>n: BinOnes(a(n))<=BinOnes(m)} with BinOnes=A000120.
If m = floor((sqrt(8*n+1) - 1) / 2), then a(n) = 2^(m+1) - 2^(m*(m+3)/2 - n) - 1. - Carl R. White, Feb 10 2009
|
|
EXAMPLE
|
This may also be viewed as a triangle: In binary:
0 0
1 2 01 10
3 5 6 011 101 110
7 11 13 14 0111 1011 1101 1110
15 23 27 29 30 01111 10111 11011 11101 11110
31 47 55 59 61 62
63 95 111 119 123 125 126
|
|
MAPLE
|
seq(seq(2^a-1-2^b, b=a-1..0, -1), a=1..11); # Robert Israel, Dec 14 2018
|
|
MATHEMATICA
|
fQ[n_] := DigitCount[n, 2, 0] < 2; Select[ Range[0, 2^10], fQ] (* Robert G. Wilson v, Aug 02 2012 *)
|
|
PROG
|
(Haskell)
a089633 n = a089633_list !! (n-1)
a089633_list = [2 ^ t - 2 ^ k - 1 | t <- [1..], k <- [t-1, t-2..0]]
(PARI) {insq(n) = local(dd, hf, v); v=binary(n); hf=length(v); dd=sum(i=1, hf, v[i]); if(dd<=hf-2, -1, 1)}
{for(w=0, 1536, if(insq(w)>=0, print1(w, ", ")))}
(PARI) isoka(n) = #select(x->(x==0), binary(n)) <= 1; \\ Michel Marcus, Dec 14 2018
(Python)
from itertools import count, islice
def A089633_gen(): # generator of terms
return ((1<<t)-(1<<k)-1 for t in count(1) for k in range(t-1, -1, -1))
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|