|
|
A352942
|
|
Let p = prime(n); a(n) = number of primes q with same number of binary digits as p that can be obtained from p by changing one binary digit.
|
|
0
|
|
|
1, 1, 1, 1, 0, 0, 1, 2, 2, 1, 2, 1, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, 1, 2, 3, 2, 0, 1, 1, 0, 2, 1, 2, 3, 1, 1, 4, 1, 0, 1, 1, 0, 1, 3, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 2, 2, 0, 3, 2, 1, 1, 2, 2, 1, 1, 0, 3, 0, 0, 2, 2, 0, 2, 2, 2, 3, 2, 2, 0, 2, 0, 1, 2, 0, 1
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,8
|
|
COMMENTS
|
a(n) is also the degree of prime(n) in the graph P(A070939(prime(n)), 2), defined in A145667.
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
prime(1) = 2, in binary 10, has one neighbor 11 in P(2, 2), so a(1) = 1.
prime(14) = 43, in binary 101011, has neighbors 101001 (41), 101111 (47), 111011 (59), so a(14) = 3.
|
|
MAPLE
|
a:= n-> (p-> nops(select(isprime, {seq(Bits[Xor]
(p, 2^i), i=0..ilog2(p)-1)})))(ithprime(n)):
|
|
PROG
|
(Python)
from sympy import isprime, sieve
def neighs(s):
digs = "01"
ham1 = (s[:i]+d+s[i+1:] for i in range(len(s)) for d in digs if d!=s[i])
yield from (h for h in ham1 if h[0] != '0')
def a(n):
return sum(1 for s in neighs(bin(sieve[n])[2:]) if isprime(int(s, 2)))
print([a(n) for n in range(1, 88)])
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|