%I #34 Jul 23 2023 06:05:53
%S 11,10,1101,1100,1111,1110,1001,1000,1011,1010,110101,110100,110111,
%T 110110,110001,110000,110011,110010,111101,111100,111111,111110,
%U 111001,111000,111011,111010,100101,100100,100111,100110,100001,100000,100011,100010,101101,101100,101111,101110,101001,101000,101011,101010,11010101
%N Negative numbers in base -2.
%C The formula a(n) = A039724(-n) is slightly misleading because sequence A039724 isn't defined for n < 0, and none of the terms a(n) is a term of A039724. It can be seen as the definition of the extension of A039724 to negative indices. Also, recursive definitions or implementations of A039724 require that function to be defined for negative arguments, and using a generic formula it will work as expected for -n, n > 0. - _M. F. Hasler_, Oct 18 2018
%H Joerg Arndt, <a href="/A212529/b212529.txt">Table of n, a(n) for n = 1..1000</a>
%H Joerg Arndt, <a href="http://www.jjj.de/fxt/#fxtbook">Matters Computational (The Fxtbook)</a>, pp. 58-59.
%F a(n) = A039724(-n). - _Reinhard Zumkeller_, Feb 05 2014
%p a:= proc(n) local d, i, l, m;
%p m:= n; l:= NULL;
%p for i from 0 while m>0 do
%p d:= irem(m, 2, 'm');
%p if d=1 and irem(i, 2)=0 then m:= m+1 fi;
%p l:= d, l
%p od; parse(cat(l))
%p end:
%p seq(a(n), n=1..100); # _Alois P. Heinz_, May 20 2012
%t negabin[n_] := negabin[n] = If[n == 0, 0, negabin[Quotient[n - 1, -2]]*10 + Mod[n, 2]]; a[n_] := negabin[-n]; Array[a, 50] (* _Amiram Eldar_, Jul 23 2023 *)
%o (Haskell)
%o a212529 = a039724 . negate -- _Reinhard Zumkeller_, Feb 05 2014
%o (Python)
%o def A212529(n):
%o s, q = '', -n
%o while q >= 2 or q < 0:
%o q, r = divmod(q, -2)
%o if r < 0:
%o q += 1
%o r += 2
%o s += str(r)
%o return int(str(q)+s[::-1]) # _Chai Wah Wu_, Apr 09 2016
%o (PARI) A212529(n)=A039724(-n) \\ _M. F. Hasler_, Oct 16 2018
%Y Cf. A039724 (nonnegative numbers in base -2).
%Y Cf. A007608 (nonnegative numbers in base -4), A212526 (negative numbers in base -4).
%Y Cf. A005352.
%K nonn,base
%O 1,1
%A _Joerg Arndt_, May 20 2012