login
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

%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