A226077 a(1)=1; a(n) = smallest positive integer not yet in the sequence, such that a(n) and a(n-1) have exactly one common 1-bit in their binary representations.
1, 3, 2, 6, 4, 5, 9, 7, 10, 8, 11, 12, 20, 13, 17, 15, 18, 14, 19, 16, 21, 24, 22, 25, 33, 23, 34, 26, 35, 29, 36, 28, 37, 27, 38, 32, 39, 40, 30, 41, 48, 31, 65, 43, 52, 42, 49, 44, 50, 45, 67, 46, 66, 47, 68, 53, 70, 51, 69, 54, 74, 55, 73, 56, 72, 57, 71, 58, 76, 59, 80, 60, 75, 64, 77, 82, 61, 96, 62, 81, 78, 97, 84, 98, 85, 104, 83, 100, 88
Offset: 1
Examples
a(1)=1 by definition. A000120(a(1) & 2)=0, A000120(a(1) & 3)=1, hence a(2)=3. A000120(a(2) & 2)=1, hence a(3)=2. A000120(a(3) & 4)=0, A000120(a(3) & 5)=0, A000120(a(3) & 6)=1, hence a(4)=6. A000120(a(4) & 4)=1, hence a(5)=4. A000120(a(5) & 5)=1, hence a(6)=5. A000120(a(6) & 7)=2, A000120(a(6) & 8)=0, A000120(a(6) & 9)=1, hence a(7)=9. A000120(a(7) & 7)=1, hence a(8)=7. A000120(a(8) & 8)=0, A000120(a(8) & 10)=1, hence a(9)=10. A000120(a(9) & 8)=1, hence a(10)=8.
Links
Programs
-
Haskell
import Data.Bits ((.&.)) import Data.List (delete) a226077 n = a226077_list !! (n-1) a226077_list = 1 : f 1 [2..] where f :: Integer -> [Integer] -> [Integer] f x zs = g zs where g (y:ys) | a209229 (x .&. y) == 0 = g ys | otherwise = y : f y (delete y zs) -- Reinhard Zumkeller, May 26 2013
Comments