login
Primes that are still primes when turned upsided down.
2

%I #20 Nov 19 2021 10:11:09

%S 11,19,61,101,109,181,199,601,619,661,1019,1061,1091,1109,1181,1601,

%T 1609,1669,1699,1811,1901,1999,6011,6091,6101,6199,6619,6661,6689,

%U 6691,6899,6991,10061,10069,10091,10691,10861,10909,11069,11681,11909,16001,16091

%N Primes that are still primes when turned upsided down.

%D P. Giannopoulos, The Brainteasers, unpublished.

%H K. D. Bajpai, <a href="/A080788/b080788.txt">Table of n, a(n) for n = 1..11210</a> (First 1000 terms from Reinhard Zumkeller)

%o (Haskell)

%o import Data.List (unfoldr)

%o a048890 n = a048890_list !! (n-1)

%o a048890_list = filter f a000040_list where

%o f x = all (`elem` [0,1,6,8,9]) ds && x' /= x && a010051 x' == 1

%o where x' = foldl c 0 ds

%o c v 6 = 10*v + 9; c v 9 = 10*v + 6; c v d = 10*v + d

%o ds = unfoldr d x

%o d z = if z == 0 then Nothing else Just $ swap $ divMod z 10

%o -- _Reinhard Zumkeller_, Nov 18 2011

%o (Python)

%o from sympy import isprime

%o from itertools import product

%o def ud(s):

%o return s[::-1].translate({ord('6'):ord('9'), ord('9'):ord('6')})

%o def auptod(maxdigits):

%o alst = []

%o for d in range(1, maxdigits+1):

%o for p in product("01689", repeat=d-1):

%o if d > 1 and p[0] == "0": continue

%o for end in "19":

%o s = "".join(p) + end

%o t, udt = int(s), int(ud(s))

%o if isprime(t) and isprime(udt): alst.append(t)

%o return alst

%o print(auptod(5)) # _Michael S. Branicky_, Nov 19 2021

%Y Cf. A007597, A057770, A080789.

%K base,easy,nonn

%O 1,1

%A P. Giannopoulos (pgiannop1(AT)yahoo.com), Mar 12 2003

%E Missing 1669 and 6689 inserted by _Reinhard Zumkeller_, Nov 18 2011