%I #34 Jun 12 2024 01:16:10
%S 1,2,2,2,2,6,2,4,6,4,2,12,6,12,2,8,12,8,6,8,12,8,2,24,12,24,6,24,12,
%T 24,2,16,24,16,12,16,24,16,6,16,24,16,12,16,24,16,2,48,24,48,12,48,24,
%U 48,6,48,24,48,12,48,24,48,2,32,48,32,24,32,48,32,12,32,48,32,24,32,48,32,6
%N First differences of A006995.
%C Contribution from _Hieronymus Fischer_, Feb 18 2012: (Start)
%C From the formula section it follows that a(2^m - 1 + 2^(m-1) - k) = a(2^m - 1 + k) for 0 <= k <= 2^(m-1), as well as a(2^m - 1 + 2^(m-1) - k) = 2 for k=0, 2^(m-1) and a(2^m - 1 + 2^(m-1) - k) = 6 for k=2^(m-2), hence, starting from positions n=2^m-1, the following 2^(m-1) terms form symmetric tuples limited on the left and on the right by a '2' and always having a '6' as the center element.
%C Example: for n = 15 = 2^4 - 1, we have the (2^3+1)-tuple (2,8,12,8,6,8,12,8,2).
%C Further on, since a(2^m - 1 + 2^(m-1) + k) = a(2^(m+1) - 1 - k) for 0 <= k <= 2^(m-1) an analogous statement holds true for starting positions n = 2^m + 2^(m-1) - 1.
%C Example: for n = 23 = 2^4 + 2^3 - 1, we find the (2^3+1)-tuple (2,24,12,24,6,24,12,24,2).
%C If we group the sequence terms according to the value of m=floor(log_2(n)), writing those terms together in separate lines and opening each new line for n >= 2^m + 2^(m-1), then a kind of a 'logarithmic shaped' cone end will be formed, where both the symmetry and the calculation rules become obvious. The first 63 terms are depicted below:
%C 1
%C 2
%C 2
%C 2 2
%C 6 2
%C 4 6 4 2
%C 12 6 12 2
%C 8 12 8 6 8 12 8 2
%C 24 12 24 6 24 12 24 2
%C 16 24 16 12 16 24 16 6 16 24 16 12 16 24 16 2
%C 48 24 48 12 48 24 48 6 48 24 48 12 48 24 48 2
%C .
%C (End)
%C Decremented by 1, also the sequence of run lengths of 0's in A178225. - _Hieronymus Fischer_, Feb 19 2012
%H Vincenzo Librandi, <a href="/A164126/b164126.txt">Table of n, a(n) for n = 1..1000</a>
%F a(n) = A006995(n+1) - A006995(n).
%F Contribution from _Hieronymus Fischer_, Feb 17 2012: (Start)
%F a(4*2^m - 1) = a(6*2^m - 1) = 2;
%F a(5*2^m - 1) = a(7*2^m - 1) = 6 (for m > 0);
%F Let m = floor(log_2(n)), then
%F Case 1: a(n) = 2, if n+1 = 2^(m+1) or n+1 = 3*2^(m-1);
%F Case 2: a(n) = 2^(m-1), if n = 0(mod 2) and n < 3*2^(m-1);
%F Case 3: a(n) = 3*2^(m-1), if n = 0(mod 2) and n >= 3*2^(m-1);
%F Case 4: a(n) = 3*2^(m-1)/gcd(n+1-2^m, 2^m), otherwise.
%F Cases 2-4 above can be combined as
%F Case 2': a(n) = (2 - (-1)^(n-(n-1)*floor(2*n/(3*2^m))))*2^(m-1)/gcd(n+1-2^m, 2^m).
%F Recursion formula:
%F Let m = floor(log_2(n)); then
%F Case 1: a(n) = 2*a(n-2^(m-1)), if 2^m <= n < 2^m + 2^(m-2) - 1;
%F Case 2: a(n) = 6, if n = 2^m + 2^(m-2) - 1;
%F Case 3: a(n) = a(n-2^(m-2)), if 2^m + 2^(m-2) <= n < 2^m + 2^(m-1) - 1;
%F Case 4: a(n) = 2, if n = 2^m + 2^(m-1) - 1;
%F Case 5: a(n) = (2 + (-1)^n)*a(n-2^(m-1)), otherwise (which means 2^m + 2^(m-1) <= n < 2^(m+1)).
%F (End)
%e a(1) = A006995(2) - A006995(1) = 1 - 0 = 1.
%t f[n_]:=FromDigits[RealDigits[n,2][[1]]]==FromDigits[Reverse[RealDigits[n, 2][[1]]]]; a=1;lst={};Do[If[f[n],AppendTo[lst,n-a];a=n],{n,1,8!,1}]; lst
%o (Python)
%o def A164126(n):
%o if n == 1: return 1
%o m = (a:=1<<(l:=n.bit_length()-2))|(n&a-1)
%o k = (m<<l+1)+int(bin(m)[-1:1:-1]or'0',2) if a&n else (m<<l)+int(bin(m)[-2:1:-1]or'0',2)
%o m = (a:=1<<(l:=(n+1).bit_length()-2))|(n+1&a-1)
%o return ((m<<l+1)+int(bin(m)[-1:1:-1]or'0',2) if a&n+1 else (m<<l)+int(bin(m)[-2:1:-1]or'0',2))-k # _Chai Wah Wu_, Jun 11 2024
%Y Cf. A006995, A164124, A029971, A016041, A164125.
%Y See A178225.
%K nonn,base,easy
%O 1,2
%A _Vladimir Joseph Stephan Orlovsky_, Aug 10 2009
%E a(1) changed to 1 and keyword:base added by _R. J. Mathar_, Aug 26 2009