Jump to content

Textonyms: Difference between revisions

2,170 bytes added ,  7 years ago
Line 1,308:
49376746242 => hydrophobia hydrophobic
2668368466 => contention convention</pre>
 
=={{header|Phix}}==
<lang Phix>sequence digit = repeat(-1,255)
digit['a'..'c'] = '2'
digit['d'..'f'] = '3'
digit['g'..'i'] = '4'
digit['j'..'l'] = '5'
digit['m'..'o'] = '6'
digit['p'..'s'] = '7'
digit['t'..'v'] = '8'
digit['w'..'z'] = '9'
 
function digits(string word)
for i=1 to length(word) do
integer ch = word[i]
if ch<'a' or ch>'z' then return "" end if
word[i] = digit[ch]
end for
return word
end function
sequence words = {}, last=""
object word, keycode
integer keycode_count = 0, textonyms = 0,
this_count = 0, max_count = 0, max_idx
 
integer fn = open("demo\\unixdict.txt","r")
while 1 do
word = trim(gets(fn))
if atom(word) then exit end if
keycode = digits(word)
if length(keycode) then
words = append(words, {keycode, word})
end if
end while
close(fn)
printf(1,"There are %d words in unixdict.txt which can be represented by the digit key mapping.\n",{length(words)})
 
words = sort(words)
for i=1 to length(words) do
{keycode,word} = words[i]
if keycode=last then
textonyms += this_count=1
this_count += 1
if this_count>max_count then
max_count = this_count
max_idx = i
end if
else
keycode_count += 1
last = keycode
this_count = 1
end if
end for
 
printf(1,"They require %d digit combinations to represent them.\n",{keycode_count})
printf(1,"%d digit combinations represent Textonyms.\n",{textonyms})
 
sequence dups = {}
for i=max_idx-max_count+1 to max_idx do
dups = append(dups,words[i][2])
end for
 
printf(1,"The maximum number of textonyms for a particular digit key mapping is %d:\n",{max_count})
printf(1," %s encodes %s\n",{words[max_idx][1],join(dups,"/")})</lang>
{{Out}}
<pre>
There are 24979 words in unixdict.txt which can be represented by the digit key mapping.
They require 22904 digit combinations to represent them.
1473 digit combinations represent Textonyms.
The maximum number of textonyms for a particular digit key mapping is 9:
269 encodes amy/any/bmw/bow/box/boy/cow/cox/coy
</pre>
 
=={{header|PowerShell}}==
7,830

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.