A125002 Let p = prime(n); a(n) = number of primes q with same number of digits as p that can be obtained from p by changing one digit.
3, 3, 3, 3, 7, 8, 7, 7, 6, 5, 5, 5, 6, 7, 6, 6, 5, 5, 5, 6, 7, 6, 6, 5, 4, 10, 8, 11, 11, 6, 8, 9, 9, 10, 6, 7, 11, 9, 9, 8, 7, 6, 10, 9, 11, 9, 7, 8, 7, 6, 7, 7, 7, 7, 8, 9, 5, 7, 7, 7, 9, 6, 8, 6, 7, 8, 5, 8, 9, 6, 7, 6, 8, 7, 6, 8, 4, 8, 8, 10, 8, 6, 9, 6, 11, 5, 8, 7, 8, 8, 7, 7, 5, 8, 8, 5, 7, 5, 6, 6
Offset: 1
Examples
The 5th prime 11 leads to 7 other primes: 13,17,19,31,41,61,71, hence a(5)=7. a(6)=8, p=13, q={11,17,19,23,43,53,73,83} a(7)=7, p=17, q={11,13,19,37,47,67,97} a(8)=7, p=19, q={11,13,17,29,59,79,89} a(9)=6, p=23, q={29,13,43,53,73,83} a(10)=5, p=29, q={23,19,59,79,89}
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
Crossrefs
Cf. A000040.
Programs
-
Haskell
import Data.List (delete) a125002 n = sum $ map (a010051' . read) $ tail $ concatMap (f pds) [0 .. length pds - 1] where pds = show $ a000040 n f ws k = [us ++ [y] ++ vs | let (us, v:vs) = splitAt k ws, y <- delete v "0123456789"] -- Reinhard Zumkeller, Jul 06 2014
-
Maple
A125002 := proc(n) local p,digs,res,r,d; p := ithprime(n) ; digs := convert(p,base,10) ; res := 0 ; for d from 1 to nops(digs) do for r from 0 to 9 do if r <> op(d,digs) and ( d <> nops(digs) or r > 0) then q := p-(op(d,digs)-r)*10^(d-1) ; if isprime(q) then res := res+1 ; fi ; fi ; od ; od ; RETURN(res) ; end ; for n from 1 to 100 do printf("%d,",A125002(n)) ; od ; # R. J. Mathar, Jan 13 2007
-
Python
from sympy import isprime, sieve def neighbors(s): digs = "0123456789" 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 neighbors(str(sieve[n])) if isprime(int(s))) print([a(n) for n in range(1, 101)]) # Michael S. Branicky, May 09 2022
Extensions
Corrected and extended by Hans Havermann and R. J. Mathar, Jan 08 2007