OFFSET
1,1
LINKS
Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
Eric Weisstein's World of Mathematics, Triskaidekaphobia
Wikipedia, Triskaidekaphobia
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.
EXAMPLE
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
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 *)
PROG
(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
(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
(PARI) is_A076805(n, t=13)=!until(t>n\=10, t==n%100&&return) \\ M. F. Hasler, Dec 02 2013
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Cino Hilliard, Nov 18 2002
EXTENSIONS
Original PARI code restored by M. F. Hasler, Dec 02 2013
STATUS
approved