This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A279645 #25 Mar 14 2024 12:14:50 %S A279645 0,0,0,1,1,0,2,3,3,2,0,1,5,4,6,7,7,6,4,5,1,0,2,3,11,10,8,9,13,12,14, %T A279645 15,15,14,12,13,9,8,10,11,3,2,0,1,5,4,6,7,23,22,20,21,17,16,18,19,27, %U A279645 26,24,25,29,28,30,31,31,30,28,29,25,24,26,27,19,18,16 %N A279645 a(n) = not (n XOR (n shift 1)). %C A279645 In other words, a(n) = the binary complement of (n XOR (n shift 1)). - _N. J. A. Sloane_, Mar 14 2024 %C A279645 Values of n for which a(n) = 0 are given by A000975(k). %C A279645 Values of n for which a(n) = 1 are given by A097072(k) (for k>1). %H A279645 Paolo P. Lava, <a href="/A279645/b279645.txt">Table of n, a(n) for n = 0..10000</a> %H A279645 Paolo P. Lava, <a href="/A279645/a279645.txt">First occurrence of n in A279645, for n <= 1000</a> %H A279645 Paolo P. Lava, <a href="/A279645/a279645.jpg">Graph of the first 10000 terms</a> %H A279645 Paolo P. Lava, <a href="/A279645/a279645_1.jpg">Graph of the first occurrence of n in A279645, for n <= 1000</a> %e A279645 5044 converted to base 2 is 1001110110100. %e A279645 Then consider each pair of adjacent bits starting from MSD: if they are equal, 00 or 11, set 1 otherwise 0: %e A279645 (1+0) -> 0 %e A279645 (0+0) -> 1 %e A279645 (0+1) -> 0 %e A279645 (1+1) -> 1 %e A279645 (1+1) -> 1 %e A279645 (1+0) -> 0 %e A279645 (0+1) -> 0 %e A279645 (1+1) -> 1 %e A279645 (1+0) -> 0 %e A279645 (0+1) -> 0 %e A279645 (1+0) -> 0 %e A279645 (0+0) -> 1 %e A279645 We get 10110010001, so a(5044) = 1425. %p A279645 P:=proc(n) local a,b,k; a:=0; b:=convert(n,base,2); %p A279645 for k to nops(b)-1 do a:=a+((((b[k]+b[k+1]) mod 2)+1) mod 2)*2^(k-1); od; RETURN(a); end; %p A279645 [seq(P(i),i=0..100)]; %p A279645 # alternative ( _R. J. Mathar_, Jun 22 2020) %p A279645 A279645 := proc(n) %p A279645 local dgs,L ; %p A279645 dgs := convert(n,base,2) ; %p A279645 L := [] ; %p A279645 for i from 2 to nops(dgs) do %p A279645 if op(i,dgs) = op(i-1,dgs) then %p A279645 L := [op(L),1] ; %p A279645 else %p A279645 L := [op(L),0] ; %p A279645 fi ; %p A279645 end do: %p A279645 add( op(i,L)*2^(i-1),i=1..nops(L)) ; %p A279645 end proc: %t A279645 a[n_] := Partition[IntegerDigits[n, 2], 2, 1] /. {b_Integer, c_Integer} :> If[b == c, 1, 0] // FromDigits[#, 2]&; %t A279645 Table[a[n], {n, 0, 100}] (* _Jean-François Alcover_, Aug 08 2023 *) %Y A279645 Cf. A000975, A038554, A097072. %K A279645 nonn,easy,look %O A279645 0,7 %A A279645 _Paolo P. Lava_, Dec 16 2016