cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A346064 Number of primes that may be generated by changing any two digits of n simultaneously.

Original entry on oeis.org

21, 17, 20, 15, 21, 20, 21, 16, 21, 17, 23, 18, 22, 17, 23, 22, 23, 17, 23, 19, 23, 19, 22, 16, 23, 22, 23, 18, 23, 18, 22, 18, 21, 16, 22, 21, 22, 17, 22, 17, 23, 18, 22, 17, 23, 22, 23, 17, 23, 19, 23, 19, 22, 16, 23, 22, 23, 18, 23, 18, 22, 18, 21, 16, 22
Offset: 10

Views

Author

Franz Vrabec, Jul 03 2021

Keywords

Comments

Indices of low records are given by A345289. By heuristic considerations it is conjectured that a(n) > 0 for all n >= 10.

Examples

			Changing two digits of the number 17 simultaneously yields the primes 02,03,05,23,29,31,41,43,53,59,61,71,73,79,83,89, so a(17) = 16.
		

Crossrefs

Cf. A345289 (indices of record lows).
Cf. A209252 (changing one digit).

Programs

  • Maple
    A346064 := proc(n)
    local a, d, e, r, s, l, N, NN, nn, i;
    a := 0;
    N := convert(n, base, 10);
    l := nops(N);
    for d to l - 1 do
       for e from d + 1 to l do
          for r from 0 to 9 do
             for s from 0 to 9 do
            if r <> op(d, N) and s <> op(e, N) then
               NN := subsop(d = r, e = s, N);
               nn := add(op(i, NN)*10^(i - 1), i = 1 .. l);
               if isprime(nn) then a := a + 1; end if;
            end if;
            end do;
          end do;
       end do;
    end do;
    a;
    end proc:
  • Mathematica
    Table[Count[Flatten[FromDigits/@Tuples[ReplacePart[t=List/@IntegerDigits[n],{#->Complement[Range[0,9],t[[#]]],#2->Complement[Range[0,9],t[[#2]]]}]&@@#]&/@Subsets[Range@IntegerLength@n,{2}]],?PrimeQ],{n,10,100}] (* _Giorgos Kalogeropoulos, Jul 23 2021 *)
  • Python
    from sympy import isprime
    from itertools import combinations, product
    def change2(s):
        for i, j in combinations(range(len(s)), 2):
            for c, d in product("0123456789", repeat=2):
                if c != s[i] and d != s[j]:
                    yield s[:i] + c + s[i+1:j] + d + s[j+1:]
    def a(n): return sum(isprime(int(t)) for t in change2(str(n)))
    print([a(n) for n in range(10, 101)]) # Michael S. Branicky, Jul 23 2021