|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
LINKS
|
|
|
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
(Haskell)
import Data.List (isInfixOf)
a076805 n = a076805_list !! (n-1)
a076805_list = filter (not . ("13" `isInfixOf`) . show) a000040_list
|
|
CROSSREFS
|
A generalization of the examples A038603, A038615 etc. for k = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 by Vasiliy Danilov.
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|