login
Nim product 2*n.
(Formerly M0412)
4

%I M0412 #41 Mar 07 2023 11:54:52

%S 0,2,3,1,8,10,11,9,12,14,15,13,4,6,7,5,32,34,35,33,40,42,43,41,44,46,

%T 47,45,36,38,39,37,48,50,51,49,56,58,59,57,60,62,63,61,52,54,55,53,16,

%U 18,19,17,24,26,27,25,28,30,31,29,20,22,23,21,128,130,131,129,136,138,139

%N Nim product 2*n.

%C From _Jianing Song_, Aug 10 2022: (Start)

%C Write n in quaternary (base 4), then replace each 1,2,3 by 2,3,1.

%C This is a permutation of the natural numbers; A004468 is the inverse permutation (since the nim product of 2 and 3 is 1). (End)

%D J. H. Conway, On Numbers and Games. Academic Press, NY, 1976, pp. 51-53.

%D N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).

%H Alois P. Heinz, <a href="/A006015/b006015.txt">Table of n, a(n) for n = 0..16383</a> (first 1001 terms from R. J. Mathar)

%H <a href="/index/Ni#Nimmult">Index entries for sequences related to Nim-multiplication</a>

%H <a href="/index/Per#IntegerPermutation">Index entries for sequences that are permutations of the natural numbers</a>

%F From _Jianing Song_, Aug 10 2022: (Start)

%F a(n) = A051775(2,n).

%F a(n) = 2*n if n has only digits 0 or 1 in quaternary (n is in A000695). Otherwise, a(n) < 2*n.

%F a(n) = n/3 if n has only digits 0 or 3 in quaternary (n is in A001196). Otherwise, a(n) > n/3.

%F a(n) = 3*n/2 if and only if n has only digits 0 or 2 in quaternary (n is in A062880). Proof: let n = Sum_i d_i*4^i, d(i) = 0,1,2,3. Write A = Sum_{d_i=1} 4^i, B = Sum_{d_i=3} 4^i, then a(n) = 3*n/2 if and only if 2*A + B = 3/2*(A + 3*B), or A = 7*B. If B != 0, then B is of the form (4*s+1)*4^t, but 7*B is not of this form. So the only possible case is A = B = 0, namely n has only digits 0 or 2. (End)

%p a:= proc(n) option remember; `if`(n=0, 0,

%p a(iquo(n, 4, 'r'))*4+[0, 2, 3, 1][r+1])

%p end:

%p seq(a(n), n=0..70); # _Alois P. Heinz_, Jan 25 2022

%t a[n_] := a[n] = If[n == 0, 0, {q, r} = QuotientRemainder[n, 4]; a[q]*4 + {0, 2, 3, 1}[[r + 1]]];

%t Table[a[n], {n, 0, 70}] (* _Jean-François Alcover_, May 20 2022, after _Alois P. Heinz_ *)

%o (PARI) a(n) = my(v=digits(n, 4), w=[0,2,3,1]); for(i=1, #v, v[i] = w[v[i]+1]); fromdigits(v, 4) \\ _Jianing Song_, Aug 10 2022

%o (Python)

%o def a(n, D=[0, 2, 3, 1]):

%o r, k = 0, 0

%o while n>0: r+=D[n%4]*4**k; n//=4; k+=1

%o return r

%o # _Onur Ozkan_, Mar 07 2023

%Y Row 2 of array in A051775.

%Y Cf. A004468-A004480, A000695, A062880, A001196.

%K nonn,easy,look

%O 0,2

%A _N. J. A. Sloane_.

%E More terms from _Erich Friedman_.