A076805 Triskaidekaphobic or 13-free primes: primes that do not contain the number 13.
2, 3, 5, 7, 11, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 127, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307
Offset: 1
Examples
The PARI program will mask out a sequence containing k or mask in a sequence containing k. The program is limited to primes < 400000000. The PARI program will generate the following for input as shown: kprimes(2,100,7,0) = 2 3 5 11 13 19 23 29 31 41 43 53 59 61 83 89; kprimes(2,1000,13,1) = 13 113 131 137 139 313 613; kprimes(300000,4000000,314159,1) = 314159 3314159 5314159
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
- Eric Weisstein's World of Mathematics, Triskaidekaphobia
- Wikipedia, Triskaidekaphobia
Crossrefs
Programs
-
Haskell
import Data.List (isInfixOf) a076805 n = a076805_list !! (n-1) a076805_list = filter (not . ("13" `isInfixOf`) . show) a000040_list -- Reinhard Zumkeller, Nov 09 2011
-
Mathematica
Select[Prime[Range[90]],!MemberQ[Partition[IntegerDigits[#],2,1],{1,3}]&] (* Harvey P. Dale, Mar 25 2012 *) Select[Prime[Range[100]],SequenceCount[IntegerDigits[#],{1,3}]==0&] (* Harvey P. Dale, Aug 11 2023 *)
-
PARI
/* k primes - kprimes.gp. Primes containing or not containing digit k=1,2,3...9,10,11... PARI does not have a good string manipulation capability. This program circumvents that by using the % modulo and floor operators. Also commented out is a log implementation which is slower than string apps. The program either masks out prime numbers k or masks them in.*/
-
PARI
log10(z) = if(z>0,floor(log(z)/log(10))+1,1);\\integer function for log(z) base 10 + 1 { kprimes(n1,n2,k,t) = \\n1,n2=range,k=mask,t=0 mask out t=1 mask in ct=0; pct=0; forprime(p=n1,n2,x=p; f=0;\\x=temp variable to diminish p ln = length(Str(p));\\get length of the prime p using strings lk = length(Str(k));\\get length of mask integer k using strings ln = log10(p);\\get length of the prime p using logs lk = log10(k);\\get length of mask integer k using strings r = 10^lk; \\set the remainder length = length of k for(j=1,ln-lk+1, \\permute through the digits d = x % r;\\get lk digits if(d==k,f=1; break);\\break for loop if match and set flag x = floor(x/10);\\diminish x for next test for k ); if(f==t,print1(p" "); ct+=1);\\if no k string of digits,print ); print(); print(ct); }
-
PARI
hasNo13(n)=n=digits(n); for(i=2,#n, if(n[i]==3&&n[i-1]==1, return(0))); 1 select(hasNo13, primes(10^4)) \\ Charles R Greathouse IV, Dec 02 2013
-
PARI
is_A076805(n,t=13)=!until(t>n\=10,t==n%100&&return) \\ M. F. Hasler, Dec 02 2013
Formula
a(n) >> n^1.0044, where the exponent is log(r)/log(10) with r the larger root of x^2 - 10x + 1. [Charles R Greathouse IV, Nov 09 2011]
kfreep(n, k) = true if for primes p over the range n and integer k, p mod 10^(floor(log_10(k))+1) <> k for p = p/10 mod 10^(floor(log_10(k))+1) <> k over the range floor(log_10(k))+1. This is a mathematical definition of the recurrence. In practice it is convenient to use string operations. E.g., If Not Instr(Str(p), Str(k)) then true or k is not a substring of p so list p.
Extensions
Original PARI code restored by M. F. Hasler, Dec 02 2013