|
|
A035327
|
|
Write n in binary, interchange 0's and 1's, convert back to decimal.
|
|
74
|
|
|
1, 0, 1, 0, 3, 2, 1, 0, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,5
|
|
COMMENTS
|
For n>0: largest m<=n such that no carry occurs when adding m to n in binary arithmetic: A003817(n+1) = a(n) + n = a(n) XOR n. - Reinhard Zumkeller, Nov 14 2009
a(0) could be considered to be 0 (it was set so from 2004 to 2008) if the binary representation of zero was chosen to be the empty string. - Jason Kimberley, Sep 19 2011
This is a base-2 analog of A048379. Another variant, without converting back to decimal, is given in A256078. - M. F. Hasler, Mar 22 2015
For n >= 2, a(n) is the least nonnegative k that must be added to n+1 to make a power of 2. Hence in a single-elimination tennis tournament with n entrants, a(n-1) is the number of players given a bye in round one, so that the number of players remaining at the start of round two is a power of 2. For example, if 39 players register, a(38)=25 players receive a round-one bye leaving 14 to play, so that round two will have 25+(14/2)=32 players. - Mathew Englander, Jan 20 2024
|
|
LINKS
|
|
|
FORMULA
|
a(n) = 2^k - n - 1, where 2^(k-1) <= n < 2^k.
G.f.: 1 + 1/(1-x)*Sum_{k>=0} 2^k*x^2^(k+1)/(1+x^2^k)). - Ralf Stephan, May 06 2003
a(n) = number of positive integers k < n such that n XOR k > n. a(n) = n - A006257(n). - Paul D. Hanna, Jan 21 2006
a(n) = 2^{1+floor(log[2](n))}-n-1 for n>=1; a(0)=1. - Emeric Deutsch, Oct 19 2008
a(n) = if n<2 then 1 - n else 2*a(floor(n/2)) + 1 - n mod 2. - Reinhard Zumkeller, Jan 20 2010
|
|
EXAMPLE
|
8 = 1000 -> 0111 = 111 = 7.
|
|
MAPLE
|
seq(2^(1 + ilog2(max(n, 1))) - 1 - n, n = 0..81); # Emeric Deutsch, Oct 19 2008
A035327 := n -> `if`(n=0, 1, Bits:-Nand(n, n)):
|
|
MATHEMATICA
|
Table[BaseForm[FromDigits[(IntegerDigits[i, 2]/.{0->1, 1->0}), 2], 10], {i, 0, 90}]
Table[BitXor[n, 2^IntegerPart[Log[2, n] + 1] - 1], {n, 100}] (* Alonso del Arte, Jan 14 2006 *)
Join[{1}, Table[2^BitLength[n]-n-1, {n, 100}]] (* Paolo Xausa, Oct 13 2023 *)
|
|
PROG
|
(PARI) a(n)=sum(k=1, n, if(bitxor(n, k)>n, 1, 0)) \\ Paul D. Hanna, Jan 21 2006
(PARI) a(n) = bitxor(n, 2^(1+logint(max(n, 1), 2))-1) \\ Rémy Sigrist, Jan 04 2019
(Magma) A035327:=func<n|n eq 0 select 1 else SequenceToInteger(([1-b:b in IntegerToSequence(n, 2)]), 2)>; // Jason Kimberley, Sep 19 2011
(Haskell)
a035327 n = if n <= 1 then 1 - n else 2 * a035327 n' + 1 - b
where (n', b) = divMod n 2
(Python)
def a(n): return int(''.join('1' if i == '0' else '0' for i in bin(n)[2:]), 2) # Indranil Ghosh, Apr 29 2017
(Python)
def a(n): return 1 if n == 0 else n^((1 << n.bit_length()) - 1)
(Python)
(SageMath)
def a(n):
if n == 0:
return 1
return sum([(1 - b) << s for (s, b) in enumerate(n.bits())])
(Julia)
using IntegerSequences
A035327List(len) = [Bits("NAND", n, n) for n in 0:len]
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
EXTENSIONS
|
More terms from Vit Planocka (planocka(AT)mistral.cz), Feb 01 2003
|
|
STATUS
|
approved
|
|
|
|