A277238 Folding numbers (see comments for the definition).
1, 2, 6, 10, 12, 22, 28, 38, 42, 52, 56, 78, 90, 108, 120, 142, 150, 170, 178, 204, 212, 232, 240, 286, 310, 346, 370, 412, 436, 472, 496, 542, 558, 598, 614, 666, 682, 722, 738, 796, 812, 852, 868, 920, 936, 976, 992, 1086, 1134, 1206, 1254, 1338, 1386, 1458, 1506, 1596, 1644, 1716, 1764, 1848, 1896, 1968
Offset: 1
Examples
178 in base 2 is 10110010. Taking the XOR of 1011 and 0100 (which is 0010 reversed) gives the result 1111, so 178 is in the sequence.
Links
- Lars Blomberg, Table of n, a(n) for n = 1..10000
- Programming Puzzles and Code Golf Stack Exchange, Folding Numbers.
Programs
-
Maple
N:= 16: # to get all terms < 2^N M[1]:= [[1]]: M[2]:= [[1,0]]: for d from 3 to N by 2 do M[d]:= map(L -> [op(L[1..(d-1)/2]),1,op(L[(d+1)/2..-1])], M[d-1]); if d < N then M[d+1]:= map(L -> ([op(L[1..(d-1)/2]),0,1,op(L[(d+1)/2..-1])],[op(L[1..(d-1)/2]),1,0,op(L[(d+1)/2..-1])]), M[d-1]) fi od: seq(seq(add(L[-i]*2^(i-1),i=1..d),L=M[d]),d=1..N); # Robert Israel, Nov 09 2016
-
Mathematica
{1}~Join~Select[Range@ 2000, If[OddQ@ Length@ # && Take[#, {Ceiling[ Length[#]/2]}] == {0}, False, Union[Take[#, Floor[Length[#]/2]] + Reverse@ Take[#, -Floor[Length[#]/2]]] == {1}] &@ IntegerDigits[#, 2] &] (* Michael De Vlieger, Oct 07 2016 *)
-
PARI
isok(n) = {if (n==1, return(1)); b = binary(n); if ((#b % 2) && (b[#b\2+1] == 0), return (0)); vecmin(vector(#b1, k, bitxor(b[k], b[#b-k+1]))) == 1;} \\ Michel Marcus, Oct 07 2016
Comments