%I
%S 31,53,61,67,109,149,157,197,223,313,347,353,359,379,409,421,503,509,
%T 521,613,691,743,859,863,929,1049,1097,1163,1181,1201,1249,1487,1489,
%U 1601,2281,2437,2441,2521,2579,2741,2753
%N Primes whose base 26 representation (using a=1, b=2, ..., y=25, z=0) form English words or phrases.
%C Some particularly pleasing prime words and phrases are (with capitals added merely for visual clarity): [discovered by _Patrick Devlin_, April 2012]
%C "somePrime" > 4092274325963
%C "somePrimeWordSequence" > 390521469300124399570501784387
%C "thisIsAGoodExampleOfAPrimePhrase"
%C > 1486423446502142057087542429696717235339605927
%C And some OEISthemed prime (pseudo)words and phrases are:
%C "NJAS" > 252869
%C "integers" > 76851151747
%C "welcomeToOEIS" > 2214931257921335609
%C "theOEISWordPrime" > 34075123572372820632427
%C Let w be any phrase (e.g., w could be Homer's Iliad, or w could be the unabridged concatenation of all of Shakespeare's works). Then Dirichlet's theorem on arithmetic progressions implies that if the last letter of w is relatively prime to 26, then there are infinitely many primes whose final digits base 26 are exactly w. There is no guarantee, however, that these primes would be prime phrases since there is essentially no control over how the beginnings of these base 26 representations would look.
%H C. K. Caldwell, <a href="http://www.utm.edu/research/primes/notes/words.html">The Prime Lexicon</a> (This is for the related base 36 interpretation as in A038842)
%e The English word "beg" becomes 2*26^2 + 5*26 + 7 = 1489, which is prime, so 1489 is in the sequence. Similarly, "bee" becomes 1487, which is also prime (thus, "bee" and "beg" are the first 'twin prime words' in this sequence).
%p # To test if a word w="someword" [all lowercase] corresponds to a prime,
%p # call isprime(wordToNumber(w)) or ifactor(wordToNumber(w))
%p letters:=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]:
%p wordToNumber:=proc(w) local lastLetter, i:
%p if length(w) = 0 then return 0: end if:
%p lastLetter := w[length(w)]:
%p for i to nops(letters)  1 do if letters[i] = lastLetter then return i + 26*wordToNumber(w[1 .. length(w)  1]): fi: od:
%p return 26*wordToNumber(w[1 .. length(w)  1]):
%p end proc:
%Y Cf. A038842 (base 36 version), A072922.
%K nonn,base,word
%O 1,1
%A _Patrick Devlin_, Apr 27 2012
