Download or view longestWord.frink in plain text format
// Program to find the longest word that can be made by appending or prepending
// letters to the beginning or end of an existing word.
a=eval[input["Enter procedure: 1.) append only 2.) prepend only 3.) both "]]
words = new set
// Read words into the wordlist.
// The wordlist files are part of the Moby wordlist project, available at:
// http://icon.shef.ac.uk/Moby/
for word = lines["file:/home/eliasen/prog/mobydict/mwords/crossword.txt"]
words.put[lc[word]]
wordQueue = ["a", "i"]
while (length[wordQueue] > 0)
{
w = wordQueue.popFirst[]
for c = char["a"] to char["z"]
{
ch = char[c]
if (a==1 or a==3)
{
wnew = "$w$ch" // Append letters
if (words.contains[wnew])
{
wordQueue.push[wnew]
println[wnew]
}
}
if (a==2 or a==3)
{
wnew = "$ch$w" // Prepend letters
if (words.contains[wnew])
{
wordQueue.push[wnew]
println[wnew]
}
}
}
}
Download or view longestWord.frink in plain text format
This is a program written in the programming language Frink.
For more information, view the Frink
Documentation or see More Sample Frink Programs.
Alan Eliasen was born 20217 days, 23 hours, 23 minutes ago.