Archive for the ‘trivia’ Category
August 28th, 2012
Let’s use Mathematica to to discover the longest English words where the letters are in alphabetical order. The following command will give all such words
DictionaryLookup[x__ /; Characters[x] == Sort[Characters[x]]]
I’m not going to show all of the output because there are 562 of them (including single letter words such as ‘I’ and ‘a’) as we can see by doing
Length[ DictionaryLookup[x__ /; Characters[x] == Sort[Characters[x]]] ] 562
The longest of these words has seven characters:
Max[Map[StringLength, DictionaryLookup[x__ /; Characters[x] == Sort[Characters[x]]]]] 7
It turns out that only one such word has the maximum 7 characters
DictionaryLookup[x__ /; Characters[x] == Sort[Characters[x]] && StringLength[x] == 7] {"billowy"}
There are 34 such words that contain 6 characters
DictionaryLookup[ x__ /; Characters[x] == Sort[Characters[x]] && StringLength[x] == 6] {"abbess", "Abbott", "abhors", "accent", "accept", "access", \ "accost", "adders", "almost", "begins", "bellow", "Bellow", "bijoux", \ "billow", "biopsy", "bloops", "cellos", "chills", "chilly", "chimps", \ "chinos", "chintz", "chippy", "chivvy", "choosy", "choppy", "Deimos", \ "effort", "floors", "floppy", "flossy", "gloppy", "glossy", "knotty"}
If you insist on all letters being different, there are 9:
DictionaryLookup[ x__ /; Characters[x] == Sort[Characters[x]] && StringLength[x] == 6 && Length[Union[Characters[x]]] == Length[Characters[x]]] {"abhors", "almost", "begins", "bijoux", "biopsy", "chimps", \ "chinos", "chintz", "Deimos"}
How about where all the letters are in reverse alphabetical order with no repeats? The longest such words have 7 characters
Max[ Map[StringLength, DictionaryLookup[ x__ /; Characters[x] == Reverse[Sort[Characters[x]]]]]] 7
Here they are
DictionaryLookup[ x__ /; Characters[x] == Reverse[Sort[Characters[x]]] && StringLength[x] == 7 && Length[Union[Characters[x]]] == Length[Characters[x]]] {"sponged", "wronged"}
0 comments