%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