%I #19 Sep 17 2021 17:26:03
%S 9,17,21,45,51,65,85,93,99,107,189,219,231,257,297,325,365,381,387,
%T 427,443,455,471,765,891,951,975,1105,1161,1241,1285,1365,1421,1501,
%U 1533,1539,1619,1675,1755,1787,1799,1879,1911,1935,1967,3069,3579,3831,3951
%N Positive integers whose binary representation is a palindrome and has a prime number of 0's.
%C Each term of this sequence is in both sequence A006995 and sequence A144754.
%H Indranil Ghosh, <a href="/A144752/b144752.txt">Table of n, a(n) for n = 1..11167</a>
%e 17 in binary is 10001. This binary representation is a palindrome, it contains three 0's, and three is a prime. So 17 is a term.
%o (Python)
%o from sympy import isprime
%o def ok(n): b = bin(n)[2:]; return b == b[::-1] and isprime(b.count('0'))
%o print(list(filter(ok, range(4000)))) # _Michael S. Branicky_, Sep 17 2021
%o (Python) # faster for computing initial segment of sequence
%o from sympy import isprime
%o from itertools import product
%o def ok2(bin_str): return isprime(bin_str.count("0"))
%o def bin_pals(maxdigits):
%o yield from "01"
%o digits, midrange = 2, [[""], ["0", "1"]]
%o for digits in range(2, maxdigits+1):
%o for p in product("01", repeat=digits//2-1):
%o left = "1"+"".join(p)
%o for middle in midrange[digits%2]:
%o yield left + middle + left[::-1]
%o def auptopow2(e): return [int(b, 2) for b in filter(ok2, bin_pals(e))]
%o print(auptopow2(12)) # _Michael S. Branicky_, Sep 17 2021
%Y Cf. A144753, A006995, A144754
%K base,nonn
%O 1,1
%A _Leroy Quet_, Sep 20 2008
%E Extended by _Ray Chandler_, Nov 04 2008
%E Name edited by _Michael S. Branicky_, Sep 17 2021