login
A076805
Triskaidekaphobic or 13-free primes: primes that do not contain the number 13.
4
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,1
LINKS
Eric Weisstein's World of Mathematics, 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
A generalization of the examples A038603, A038615 etc. for k = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 by Vasiliy Danilov.
Complement of A166573 with respect to A000040; cf. A011760
Sequence in context: A094751 A280409 A336370 * A322477 A074647 A108543
KEYWORD
nonn,base
AUTHOR
Cino Hilliard, Nov 18 2002
EXTENSIONS
Original PARI code restored by M. F. Hasler, Dec 02 2013
STATUS
approved