%I #11 Mar 07 2021 17:46:42
%S 0,1,2,1,4,1,6,1,8,1,2,1,12,1,14,1,16,1,2,1,20,1,2,1,24,1,26,1,28,1,
%T 30,1,32,1,2,1,4,1,2,1,40,1,2,1,44,1,2,1,48,1,50,1,52,1,6,1,56,1,58,1,
%U 60,1,62,1,64,1,2,1,4,1,2,1,72,1,2,1,4,1,2,1
%N For any n > 0, a(n) is the least positive number whose binary expansion is both a prefix and a suffix of the binary expansion of n; a(0) = 0.
%C All terms belong to A091065.
%H Rémy Sigrist, <a href="/A342242/b342242.txt">Table of n, a(n) for n = 0..8192</a>
%H <a href="/index/Bi#binary">Index entries for sequences related to binary expansion of n</a>
%F a(n) = 1 iff n is an odd number.
%F a(n) <= n with equality iff n belongs to A091065.
%F a(n) = n mod 2^A342241(n).
%F a(a(n)) = a(n).
%e For n = 814:
%e - the binary expansion of 814 is "1100101110",
%e - "1" does not match "0",
%e - "11" does not match "10",
%e - "110" matches "110",
%e - so the binary representation of a(814) is "110",
%e - and a(814) = 6.
%o (PARI) a(n) = { my (b=if (n, binary(n), [0])); for (w=1, oo, if (b[1..w]==b[#b+1-w..#b], return (fromdigits(b[1..w],2)))) }
%o (Python)
%o def a(n):
%o b = bin(n)[2:]
%o for i in range(1, len(b)+1):
%o if b[:i] == b[-i:]: return int(b[:i], 2)
%o print([a(n) for n in range(80)]) # _Michael S. Branicky_, Mar 07 2021
%Y Cf. A091065, A342241, A342241.
%K nonn,base,easy
%O 0,3
%A _Rémy Sigrist_, Mar 07 2021