Prime words: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (Added Arturo implementation) |
|||
Line 526: | Line 526: | ||
ma mae magma make mamma me meek meg q |
ma mae magma make mamma me meek meg q |
||
</pre> |
</pre> |
||
=={{header|Nim}}== |
|||
<lang Nim>import strformat, strutils |
|||
func isPrime(n: Natural): bool = |
|||
if n < 2: return false |
|||
if n mod 2 == 0: return n == 2 |
|||
if n mod 3 == 0: return n == 3 |
|||
var d = 5 |
|||
while d * d <= n: |
|||
if n mod d == 0: return false |
|||
inc d, 2 |
|||
if n mod d == 0: return false |
|||
inc d, 4 |
|||
result = true |
|||
# Build set of prime characters. |
|||
const PrimeChars = static: |
|||
var pchars: set[char] |
|||
for c in Letters: |
|||
if ord(c).isPrime: pchars.incl c |
|||
pchars |
|||
var count = 0 |
|||
for word in "unixdict.txt".lines: |
|||
if word.allCharsInSet(PrimeChars): |
|||
inc count |
|||
echo &"{count:2}: {word}"</lang> |
|||
{{out}} |
|||
<pre> 1: a |
|||
2: aaa |
|||
3: age |
|||
4: agee |
|||
5: ak |
|||
6: am |
|||
7: ama |
|||
8: e |
|||
9: egg |
|||
10: eke |
|||
11: em |
|||
12: emma |
|||
13: g |
|||
14: ga |
|||
15: gag |
|||
16: gage |
|||
17: gam |
|||
18: game |
|||
19: gamma |
|||
20: ge |
|||
21: gee |
|||
22: gem |
|||
23: gemma |
|||
24: gm |
|||
25: k |
|||
26: keg |
|||
27: m |
|||
28: ma |
|||
29: mae |
|||
30: magma |
|||
31: make |
|||
32: mamma |
|||
33: me |
|||
34: meek |
|||
35: meg |
|||
36: q</pre> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |