cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

Showing 1-4 of 4 results.

A102370 "Sloping binary numbers": write numbers in binary under each other (right-justified), read diagonals in upward direction, convert to decimal.

Original entry on oeis.org

0, 3, 6, 5, 4, 15, 10, 9, 8, 11, 14, 13, 28, 23, 18, 17, 16, 19, 22, 21, 20, 31, 26, 25, 24, 27, 30, 61, 44, 39, 34, 33, 32, 35, 38, 37, 36, 47, 42, 41, 40, 43, 46, 45, 60, 55, 50, 49, 48, 51, 54, 53, 52, 63, 58, 57, 56, 59, 126, 93, 76, 71, 66, 65, 64, 67, 70, 69
Offset: 0

Views

Author

Philippe Deléham, Feb 13 2005

Keywords

Comments

All terms are distinct, but certain terms (see A102371) are missing. But see A103122.
Trajectory of 1 is 1, 3, 5, 15, 17, 19, 21, 31, 33, ..., see A103192.

Examples

			........0
........1
.......10
.......11
......100
......101
......110
......111
.....1000
.........
The upward-sloping diagonals are:
0
11
110
101
100
1111
1010
.......
giving 0, 3, 6, 5, 4, 15, 10, ...
The sequence has a natural decomposition into blocks (see the paper): 0; 3; 6, 5, 4; 15, 10, 9, 8, 11, 14, 13; 28, 23, 18, 17, 16, 19, 22, 21, 20, 31, 26, 25, 24, 27, 30; 61, ...
Reading the array of binary numbers along diagonals with slope 1 gives this sequence, slope 2 gives A105085, slope 0 gives A001477 and slope -1 gives A105033.
		

Crossrefs

Related sequences (1): A103542 (binary version), A102371 (complement), A103185, A103528, A103529, A103530, A103318, A034797, A103543, A103581, A103582, A103583.
Related sequences (2): A103584, A103585, A103586, A103587, A103127, A103192 (trajectory of 1), A103122, A103588, A103589, A103202 (sorted), A103205 (base 10 version).
Related sequences (3): A103747 (trajectory of 2), A103621, A103745, A103615, A103842, A103863, A104234, A104235, A103813, A105023, A105024, A105025, A105026, A105027, A105028.
Related sequences (4): A105029, A105030, A105031, A105032, A105033, A105034, A105035, A105108.

Programs

  • Haskell
    a102370 n = a102370_list !! n
    a102370_list = 0 : map (a105027 . toInteger) a062289_list
    -- Reinhard Zumkeller, Jul 21 2012
    
  • Maple
    A102370:=proc(n) local t1,l; t1:=n; for l from 1 to n do if n+l mod 2^l = 0 then t1:=t1+2^l; fi; od: t1; end;
  • Mathematica
    f[n_] := Block[{k = 1, s = 0, l = Max[2, Floor[Log[2, n + 1] + 2]]}, While[k < l, If[ Mod[n + k, 2^k] == 0, s = s + 2^k]; k++ ]; s]; Table[ f[n] + n, {n, 0, 71}] (* Robert G. Wilson v, Mar 21 2005 *)
  • PARI
    A102370(n)=n-1+sum(k=0,ceil(log(n+1)/log(2)),if((n+k)%2^k,0,2^k)) \\ Benoit Cloitre, Mar 20 2005
    
  • PARI
    {a(n) = if( n<1, 0, sum( k=0, length( binary( n)), bitand( n + k, 2^k)))} /* Michael Somos, Mar 26 2012 */
    
  • Python
    def a(n): return 0 if n<1 else sum([(n + k)&(2**k) for k in range(len(bin(n)[2:]) + 1)]) # Indranil Ghosh, May 03 2017

Formula

a(n) = n + Sum_{ k >= 1 such that n + k == 0 mod 2^k } 2^k. (Cf. A103185.) In particular, a(n) >= n. - N. J. A. Sloane, Mar 18 2005
a(n) = A105027(A062289(n)) for n > 0. - Reinhard Zumkeller, Jul 21 2012

Extensions

More terms from Benoit Cloitre, Mar 20 2005

A105027 Write numbers in binary under each other; to get the next block of 2^k (k >= 0) terms of the sequence, start at 2^k, read diagonals in upward direction and convert to decimal.

Original entry on oeis.org

0, 1, 3, 2, 6, 5, 4, 7, 15, 10, 9, 8, 11, 14, 13, 12, 28, 23, 18, 17, 16, 19, 22, 21, 20, 31, 26, 25, 24, 27, 30, 29, 61, 44, 39, 34, 33, 32, 35, 38, 37, 36, 47, 42, 41, 40, 43, 46, 45, 60, 55, 50, 49, 48, 51, 54, 53, 52, 63, 58, 57, 56, 59, 62, 126, 93, 76, 71, 66, 65, 64, 67, 70
Offset: 0

Views

Author

N. J. A. Sloane, Apr 03 2005

Keywords

Comments

This is a permutation of the nonnegative integers.
Structure: blocks of size 2^k - 1 taken from A102370, interspersed with terms of A102371. - Philippe Deléham, Nov 17 2007
a(A062289(n)) = A102370(n) for n > 0; a(A000225(n)) = A102371(n); a(A214433(n)) = A105025(a(n)). - Reinhard Zumkeller, Jul 21 2012

Examples

			        0
        1
       10
       11
   -> 100  Starting here, the upward diagonals
      101  read 110, 101, 100, 111, giving the block 6, 5, 4, 7.
      110
      111
     1000
     1001
     1010
     1011
      ...
		

Crossrefs

Cf. A214414 (fixed points), A214417 (inverse).

Programs

  • Haskell
    import Data.Bits ((.|.), (.&.))
    a105027 n = foldl (.|.) 0 $ zipWith (.&.)
                      a000079_list $ enumFromTo (n + 1 - a070939 n) n
    -- Reinhard Zumkeller, Jul 21 2012
    
  • Mathematica
    block[k_] := Module[{t}, t = Table[PadLeft[IntegerDigits[n, 2], k+1], {n, 2^(k-1), 2^(k+1)-1}]; Table[FromDigits[Table[t[[n-m+1, m]], {m, 1, k+1}], 2], {n,2^(k-1)+1, 2^(k-1)+2^k}]]; block[0] = {0, 1}; Table[block[k], {k, 0, 6}] // Flatten (* Jean-François Alcover, Jun 30 2015 *)
  • PARI
    apply( {A105027(n,L=exponent(n+!n))=sum(k=0,L,bitand(n+k-L,2^k))}, [0..55]) \\ M. F. Hasler, Apr 18 2022

Formula

a(2^n - 1) = A102371(n) for n > 0. - Philippe Deléham, May 10 2005

Extensions

More terms from John W. Layman, Apr 07 2005

A105025 Write numbers in binary under each other; to get the next block of 2^k (k >= 0) terms of the sequence, start at 2^k, read diagonals in downward direction and convert to decimal.

Original entry on oeis.org

0, 1, 3, 2, 4, 7, 6, 5, 11, 10, 9, 12, 15, 14, 13, 8, 18, 17, 20, 23, 22, 21, 16, 27, 26, 25, 28, 31, 30, 29, 24, 19, 33, 36, 39, 38, 37, 32, 43, 42, 41, 44, 47, 46, 45, 40, 35, 50, 49, 52, 55, 54, 53, 48, 59, 58, 57, 60, 63, 62, 61, 56, 51, 34, 68, 71, 70, 69, 64, 75, 74, 73, 76
Offset: 0

Views

Author

N. J. A. Sloane, Apr 03 2005

Keywords

Comments

This is a permutation of the nonnegative integers.
a(A214433(n)) = A105027(A214433(n)); a(A214489(n)) = A105029(A214489(n)). - Reinhard Zumkeller, Jul 21 2012

Examples

			........0
........1
.......10
.......11
......100 <- Starting here, the downward diagonals
......101 read 100, 111, 110, 101, giving the block 4, 7, 6, 5.
......110
......111
.....1000
.....1001
.....1010
.....1011
.........
		

Crossrefs

Cf. A105271 (fixed points), A214416 (inverse).

Programs

  • Haskell
    import Data.Bits ((.|.), (.&.))
    a105025 n = foldl (.|.) 0 $ zipWith (.&.)
                      a000079_list $ reverse $ enumFromTo n (n - 1 + a070939 n)
    -- Reinhard Zumkeller, Jul 21 2012
  • Maple
    a:=proc(i,j) if j=1 and i<=16 then 0 else convert(i+15,base,2)[7-j] fi end: seq(a(i,2)*2^4+a(i+1,3)*2^3+a(i+2,4)*2^2+a(i+3,5)*2+a(i+4,6),i=1..16); # this is a Maple program (not necessarily the simplest) only for one block of (2^4) numbers # Emeric Deutsch, Apr 16 2005
  • Mathematica
    numberOfBlocks = 7; bloc[n_] := Join[ Table[ IntegerDigits[k, 2], {k, 2^(n-1), 2^n-1}], Table[ Rest @ IntegerDigits[k, 2], {k, 2^n, 2^n+n}]]; Join[{0, 1}, Flatten[ Table[ Table[ Diagonal[bloc[n], k] // FromDigits[#, 2]&, {k, 0, -2^(n-1)+1, -1}], {n, 2, numberOfBlocks}]]] (* Jean-François Alcover, Nov 03 2016 *)

Extensions

More terms from Emeric Deutsch, Apr 16 2005

A105029 Write numbers in binary under each other, left justified, read diagonals in downward direction, convert to decimal.

Original entry on oeis.org

0, 2, 6, 5, 4, 14, 13, 8, 11, 10, 9, 12, 30, 29, 24, 19, 18, 17, 20, 23, 22, 21, 16, 27, 26, 25, 28, 62, 61, 56, 51, 34, 33, 36, 39, 38, 37, 32, 43, 42, 41, 44, 47, 46, 45, 40, 35, 50, 49, 52, 55, 54, 53, 48, 59, 58, 57, 60, 126, 125, 120, 115, 98, 65, 68, 71, 70
Offset: 0

Views

Author

Benoit Cloitre, Apr 03 2005

Keywords

Comments

All terms are distinct, but the numbers 2^m - 1 are missing.
a(n) = Sum_{k>=1} B(n+k-1,k)*2^(A103586(n)-k) where B(n,k) n>=1, k>=1 is the infinite array:
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
.......
where n-th row consists of binary expansion of n followed by 0's.
a(n) = A105025(n) iff A070939(n) = A103586(n), cf. A214489. - Reinhard Zumkeller, Jul 21 2012

Examples

			0
1
1 0
1 1
1 0 0
1 0 1
1 1 0
1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
and reading the diagonals downwards we get 0, 10, 110, 101, 100, 1110, 1101, etc.
		

Crossrefs

Programs

  • Haskell
    import Data.Bits ((.|.), (.&.))
    a105029 n = foldl (.|.) 0 $ zipWith (.&.) a000079_list $
       map (\x -> (len + 1 - a070939 x) * x)
           (reverse $ enumFromTo n (n - 1 + len))  where len = a103586 n
    -- Reinhard Zumkeller, Jul 21 2012
Showing 1-4 of 4 results.