Prime words: Difference between revisions
Content added Content deleted
No edit summary |
(Initial FutureBasic task solution added) |
||
Line 622: | Line 622: | ||
meg |
meg |
||
q</pre> |
q</pre> |
||
=={{header|FutureBasic}}== |
|||
<syntaxhighlight lang="futurebasic"> |
|||
#plist NSAppTransportSecurity @{NSAllowsArbitraryLoads:YES} |
|||
mda(0) = {NO, YES, NO, YES, YES, NO, NO, YES, NO, YES, NO, NO, YES,¬ |
|||
NO, NO, NO, YES, NO, YES, YES, NO, YES, YES, NO, YES, NO, NO, NO, NO} |
|||
local fn WordList as CFArrayRef |
|||
CFURLRef url = fn URLWithString( @"http://wiki.puzzlers.org/pub/wordlists/unixdict.txt" ) |
|||
CFStringRef string = lcase(fn StringWithContentsOfURL( url, NSUTF8StringEncoding, NULL )) |
|||
CFArrayRef wordArr = fn StringComponentsSeparatedByString( string, @"\n" ) |
|||
CFMutableArrayRef mutArr = fn MutableArrayNew |
|||
CFStringRef tempStr |
|||
for tempStr in wordArr |
|||
CFRange range = fn StringRangeOfStringWithOptions( tempStr, @"^[a-z]+$", NSRegularExpressionSearch ) |
|||
if range.location != NSNotFound then MutableArrayAddObject( mutArr, tempStr ) |
|||
next |
|||
end fn = mutArr |
|||
local fn IsPrimeLetter( s as CFStringRef ) as BOOL |
|||
NSUInteger index = 0 |
|||
BOOL result = NO |
|||
unichar n = fn StringCharacterAtIndex( s, index ) |
|||
if n mod 2 == 0 then exit fn = NO |
|||
result = mda_integer( (n-65)/2 ) |
|||
end fn = result |
|||
local fn IsPrimeWord( s as CFStringRef ) as BOOL |
|||
NSUInteger i, count = len(s) |
|||
for i = 0 to count -1 |
|||
if fn IsPrimeLetter( mid( s, i, 1 ) ) = NO then exit fn = NO |
|||
next |
|||
end fn = YES |
|||
local fn FindPrimeWords |
|||
CFArrayRef wordArr = fn WordList |
|||
CFStringRef wordStr |
|||
for wordStr in wordArr |
|||
if wordStr = @"" then break |
|||
if fn IsPrimeWord( wordStr ) = YES then printf @"%@", wordStr |
|||
next |
|||
end fn |
|||
fn FindPrimeWords |
|||
HandleEvents |
|||
</syntaxhighlight> |
|||
{{output}} |
|||
<pre> |
|||
a |
|||
aaa |
|||
age |
|||
agee |
|||
ak |
|||
am |
|||
ama |
|||
e |
|||
egg |
|||
eke |
|||
em |
|||
emma |
|||
g |
|||
ga |
|||
gag |
|||
gage |
|||
gam |
|||
game |
|||
gamma |
|||
ge |
|||
gee |
|||
gem |
|||
gemma |
|||
gm |
|||
k |
|||
keg |
|||
m |
|||
ma |
|||
mae |
|||
magma |
|||
make |
|||
mamma |
|||
me |
|||
meek |
|||
meg |
|||
q |
|||
</pre> |
|||
=={{header|Go}}== |
=={{header|Go}}== |