A030109 Write n in binary, reverse bits, subtract 1, divide by 2.
0, 0, 1, 0, 2, 1, 3, 0, 4, 2, 6, 1, 5, 3, 7, 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15, 0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30, 1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23, 15, 31, 0, 32, 16, 48, 8, 40, 24, 56, 4, 36, 20, 52, 12, 44, 28, 60, 2, 34, 18, 50
Offset: 1
Examples
As an irregular triangle, first few rows are: 0; 0,1; 0,2,1,3; 0,4,2,6,1,5,3,7; 0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15; ...
Links
- Alois P. Heinz, Table of n, a(n) for n = 1..8191
- L. Ducas, T. Prest, Fast Fourier Orthogonalization, IACR, Report 2015/1014, 2015-2016.
Programs
-
Haskell
a030109 = flip div 2 . subtract 1 . a030101 -- Reinhard Zumkeller, Mar 14 2015
-
MATLAB
% To get the irregular triangle function T = ITriang(rows) T = cell(rows, 1); T{1} = [0]; for r = 1:rows - 1; T{r + 1} = [2*T{r} (2*T{r} + 1)]; end end % Miguel Vargas, May 04 2024
-
Maple
a:= proc(n) option remember; local r; `if`(n<3, 0, `if`(irem(n, 2, 'r')=0, a(r), a(r) +2^ilog2(r))) end: seq(a(n), n=1..127); # Alois P. Heinz, Oct 08 2012
-
Mathematica
Table[(FromDigits[Reverse[IntegerDigits[n,2]],2]-1)/2,{n,90}] (* Harvey P. Dale, Oct 26 2013 *)
-
PARI
a(n) = (fromdigits(Vecrev(binary(n)), 2) - 1)/2; \\ Michel Marcus, Oct 01 2019
-
R
maxrow <- 10 # by choice a <- 0 for(m in 0:maxrow) for(k in 0:(2^m-1)) { a[2^(m+1)+ k] <- 2*a[2^m+k] a[2^(m+1)+2^m+k] <- a[2^(m+1)+k]+1 } a # Yosu Yurramendi, Jan 24 2015
Formula
a(n) = A059893(n) - A053644(n). If 2*2^k<= n<3*2^k then a(n) = 2*a(n-2^k); if 3*2^k<= n<4*2^k then a(n) = 1+ a(n-2^k) starting with a(1) = 0. - Henry Bottomley, Sep 13 2001
a(2n) = a(n), a(2n+1) = a(n) + 2^[log_2(n)]. - Ralf Stephan, Aug 22 2003
a(2^m*(2*A072758(n)+1)) = n for m and n >= 0. - Yosu Yurramendi, Jan 24 2015
Extensions
More terms from Patrick De Geest, Jun 15 1998
Comments