|
|
A059894
|
|
Complement and reverse the order of all but the most significant bit in binary expansion of n. n = 1ab..yz -> 1ZY..BA = a(n), where A = 1-a, B = 1-b, ... .
|
|
27
|
|
|
1, 3, 2, 7, 5, 6, 4, 15, 11, 13, 9, 14, 10, 12, 8, 31, 23, 27, 19, 29, 21, 25, 17, 30, 22, 26, 18, 28, 20, 24, 16, 63, 47, 55, 39, 59, 43, 51, 35, 61, 45, 53, 37, 57, 41, 49, 33, 62, 46, 54, 38, 58, 42, 50, 34, 60, 44, 52, 36, 56, 40, 48, 32, 127, 95, 111, 79, 119, 87, 103, 71
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
a(n) is the viabin number of the integer partition that is conjugate to the integer partition with viabin number n. Example: a(9) = 11. Indeed, 9 and 11 are the viabin numbers of the conjugate partitions [2,1,1] and [3,1], respectively. For the definition of viabin number see comment in A290253. - Emeric Deutsch, Aug 23 2017
|
|
LINKS
|
|
|
FORMULA
|
a(1) = 1, a(2n) = a(n) + 2^(floor(log_2(n))+1), a(2n+1) = a(n) + 2^floor(log_2(n)) (conjectured). - Ralf Stephan, Aug 21 2003
To verify first conjecture above we use n = Sum_{k=0..l(n)} T(n,k)*2^k where l(n) = floor(log_2(n)), T(n,k) = floor(n/2^k) mod 2, so by definition we have a(n) = Sum_{k=0..l(n)} (1-T(n,k-1))*2^(l(n)-k), then we use l(n) = l(floor(n/2)) + 1, T(2n,k) = T(n,k-1), T(2n+1,k) = T(n,k-1) + [k=0] and apply shifting of the summation. - Mikhail Kurkov, Nov 11 2019 [verification needed]
|
|
EXAMPLE
|
a(9) = a(1001) = 1011 = 11.
|
|
MAPLE
|
a:= proc(n) local i, m, r; m, r:= n, 0;
for i from 0 while m>1 do r:= 2*r +1 -irem(m, 2, 'm') od;
r +2^i
end:
|
|
MATHEMATICA
|
Map[FromDigits[#, 2] &@ Flatten@ MapAt[Reverse, TakeDrop[IntegerDigits[#, 2], 1], -1] &, Flatten@ Table[Range[2^(n + 1) - 1, 2^n, -1], {n, 0, 6}]] (* Michael De Vlieger, Aug 23 2017 after Harvey P. Dale at A054429 *)
|
|
PROG
|
(PARI)
a(n)=local(v, l); v=binary(n); l=length(v); 2^(l-1)+sum(k=0, l-2, if(!v[k+2], 2^k))
log2(n) = log(n)/log(2)
b(n)=if(n<2, 1, if(n%2==0, b(n/2)+2^(floor(log2(n/2))+1), b((n-1)/2)+2^floor(log2((n-1)/2))))
(PARI)
{ for (n=1, 1024, a=1; b=n; while (b>1, a=2*a + 1 - 2*frac(b/2); b=floor(b/2); ); write("b059894.txt", n, " ", a); ) } \\ Harry J. Smith, Jun 30 2009
(R)
maxrow <- 8 #by choice
a <- 1
for(m in 0:maxrow) for(k in 0:(2^m-1)){
a[2^(m+1) + 2*k ] <- a[2^m + k] + 2^(m+1)
a[2^(m+1) + 2*k + 1] <- a[2^m + k] + 2^m
}
a
(Python)
def a(n): return int('1' + ''.join('0' if i=='1' else '1' for i in bin(n)[3:])[::-1], 2)
(Python)
def A059894(n): return n if n <= 1 else -int((s:=bin(n)[-1:2:-1]), 2)-1+2**(len(s)+1) # Chai Wah Wu, Feb 04 2022
|
|
CROSSREFS
|
|
|
KEYWORD
|
base,easy,nonn,look,changed
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|