%I #30 Sep 03 2023 00:03:49
%S 0,1,0,1,0,1,0,1,0,2,1,2,1,1,0,1,0,2,1,1,0,2,1,2,1,1,0,2,1,1,0,1,0,2,
%T 1,2,1,3,2,2,1,3,2,1,0,2,1,2,1,1,0,3,2,2,1,3,2,2,1,2,1,1,0,1,0,2,1,2,
%U 1,3,2,1,0,2,1,2,1,3,2,2,1,3,2,1,0,2,1,2,1,3
%N a(n) = (1/2)*Sum_{i} |d(i) - e(i)| where Sum_{i} d(i)*2^i is the base-2 representation of n and e(i) are digits d(i) in reverse order.
%C a(n) = least number of digits for which the change 0->1 in (binary n) yields a palindrome.
%C a(n) = Sum_{k=0..A070939(n)/2-1} abs(A030308(n, k) - A030308(n, A070939(n)-k)). - _Reinhard Zumkeller_, Apr 09 2013
%C a(n) = Sum_{k=0..A070939(n)/2-1} ((A030308(n, k) + A030308(n, A070939(n)-k)) mod 2). - _Reinhard Zumkeller_, Sep 18 2013
%H Reinhard Zumkeller, <a href="/A037888/b037888.txt">Table of n, a(n) for n = 1..10000</a>
%p a:= proc(n) local r, ad: r:= proc(s) options operator, arrow: [seq(s[nops(s)-j+1], j = 1 .. nops(s))] end proc: ad := proc(s) local i,j: j := 0: for i to nops(s) do if 0 < abs((s-r(s))[i]) then j := j+1 else end if end do: (1/2)*j end proc: ad(convert(n, base, 2)) end proc: seq(a(n), n = 1 .. 90); # _Emeric Deutsch_, Aug 20 2016
%t a[n_] := (bits = IntegerDigits[n, 2]; Total[Abs[bits - Reverse[bits]]]/2); Table[a[n], {n, 1, 90}] (* _Jean-François Alcover_, Jan 16 2013 *)
%o (PARI)
%o for(n = 1, 90,
%o v = binary(n); s = 0; j = #v;
%o for(k=1,#v, s+=abs(v[k]-v[j]); j--);
%o s/=2;
%o print1(s,", ")
%o )
%o \\ _Washington Bomfim_, Jan 13 2011
%o (Haskell)
%o a037888 n = div (sum $ map abs $ zipWith (-) bs $ reverse bs) 2
%o where bs = a030308_row n
%o -- _Reinhard Zumkeller_, Apr 09 2013
%Y Cf. A064834.
%K nonn,base,nice
%O 1,10
%A _Clark Kimberling_