%I #28 Aug 12 2024 01:27:34
%S 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,
%T 42,84,43,128,44,129,46,144,47,192,48,193,50,196,51,200,52,201,54,256,
%U 55,264,64,265,66,268,67,272,68,273,70,280,71,288,72,289,74,292,75,304
%N 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.
%C a(A051147(n)) = 2^n; A209229(a(A244747(n))) = 1. - _Reinhard Zumkeller_, Jul 06 2014
%H Reinhard Zumkeller, <a href="/A051145/b051145.txt">Table of n, a(n) for n = 0..10000</a>
%F a(n) = ((a(n-1) OR a(n-2)) + 1) AND NOT a(n-1). - _Charlie Neder_, Oct 12 2018
%e 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).
%t 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 *)
%o (Haskell)
%o import Data.Bits ((.|.))
%o a051145 n = a051145_list !! n
%o a051145_list = 0 : 1 : f 1 1 where
%o f x b = y : f y z where
%o (y, z) = head [(y, z) | y <- [1..],
%o let z = x .|. y :: Integer, z > b]
%o -- _Reinhard Zumkeller_, Oct 25 2012
%Y Cf. A051146, A051147, A057923-A057931, A209229, A244747.
%K nonn,easy,nice
%O 0,3
%A _N. J. A. Sloane_, E. M. Rains
%E More terms from Larry Reeves (larryr(AT)acm.org), Oct 03 2000