|
|
A051145
|
|
a(0)=0, a(1)=1, a(n) = smallest number such that sequence b(n) = a(n) OR a(n+1) is strictly monotonically increasing.
|
|
7
|
|
|
0, 1, 2, 4, 3, 8, 4, 9, 6, 16, 7, 24, 32, 25, 34, 28, 35, 64, 36, 65, 38, 72, 39, 80, 40, 81, 42, 84, 43, 128, 44, 129, 46, 144, 47, 192, 48, 193, 50, 196, 51, 200, 52, 201, 54, 256, 55, 264, 64, 265, 66, 268, 67, 272, 68, 273, 70, 280, 71, 288, 72, 289, 74, 292, 75, 304
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
COMMENTS
|
|
|
LINKS
|
|
|
FORMULA
|
a(n) = ((a(n-1) OR a(n-2)) + 1) AND NOT a(n-1). - Charlie Neder, Oct 12 2018
|
|
EXAMPLE
|
To find a(6): we have a(4)=3=11, a(5)=8=1000, 3 OR 8 = 1011 = 11, smallest number which when OR-ed with 8 gives a number bigger than 11 is 4, since then 4=100 OR 8=1000 = 1100=12; so a(6)=4, b(6)=12 (cf. A051146).
|
|
MATHEMATICA
|
a[0] = 0; a[1] = 1; a[n_] := a[n] = (b = 0; While[b++; BitOr[b, a[n-1]] <= BitOr[a[n-2], a[n-1]]]; b); Table[a[n], {n, 0, 65}] (* Jean-François Alcover, Oct 07 2011 *)
|
|
PROG
|
(Haskell)
import Data.Bits ((.|.))
a051145 n = a051145_list !! n
a051145_list = 0 : 1 : f 1 1 where
f x b = y : f y z where
(y, z) = head [(y, z) | y <- [1..],
let z = x .|. y :: Integer, z > b]
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,easy,nice
|
|
AUTHOR
|
|
|
EXTENSIONS
|
More terms from Larry Reeves (larryr(AT)acm.org), Oct 03 2000
|
|
STATUS
|
approved
|
|
|
|