Skip to content

Instantly share code, notes, and snippets.

@robinhouston
Created August 22, 2020 20:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robinhouston/45d3b394b6c10d72f3a04020625bee8a to your computer and use it in GitHub Desktop.
Save robinhouston/45d3b394b6c10d72f3a04020625bee8a to your computer and use it in GitHub Desktop.
Search for English words that have a hex representation as a prime number
445
ABACA5
A64CA5
A84C45
4BACA5
ABAC1
484C1
46AC5
ABAF7
48AF7
484F7
4645
A6A5ED
A6A53D
A645ED
A6453D
A8453D
48A53D
AB4535
A645E5
A8A535
48A5E5
A8A51A5
A845145
4B45145
A8473
4BA7ED
48A735
ABA715
484715
ABA71535
A64715E5
48471535
A6A7715
4BA771535
A8B
48B
A66AC135
A664C1E5
A664C135
A864C135
4B64C135
4664C135
48B4C1E5
ABB45
A8BA5
A88A5
4BBA5
4B845
48BA5
48B45
4BB3
AB8ED
A8BED
466ED
4663D
4863D
AB835
A6835
A8B35
A86E5
46B35
468E5
4B6355
4B8E55
486355
ABBE5535
A68355E5
A88E5535
4BB355E5
46BE55E5
46BE5535
46B07
4B807C1E5
48B07C1E5
48807C1E5
AB8075
488075
A6B5
A8B5
4BB5
4B65
4B85
A8C3E5
4BC3E5
46C3E5
4BD1C47ED
4BD1C47E5
48D1C47E5
A63D
463D
483D
A6E7
A837
ABE75
A8E75
4BE75
4B377ED
A81D
481D
AB1D3
A61D3D
4B1D35
481D35
AB0D3
A80D3
480D3
A60D35
AB05
A805
AB5
A85
A85CE55
AB5CE55ED
A65CE553D
465C3553D
A85C153
485C15ED
4B5C155A5
465C15545
485C15545
485C1553
AB517
A8517
46517
A65175
ACA735
AC47E5
4CA7E5
ACC45
4CC3DED
ACCE55E5
ACC1D1E5
ACC17E5
4CC1735
ACED
4C37A73D
ACE7A735
4CE747E5
4CE71F135
4C37053
4C1D1357
AC1D0535
4C7
AD
4DD3D
4DD1C7ED
ADD1C75
ADD5
AD05
4D05
4D5
AD2E5
4D2E5
A3
43
A3D35
43D35
AE5C35
4E5C35
4FF
AFF3C7
4FFEC7ED
4FF3C7ED
4FF1ED
4F007
4F705A5
A1A5
A1D05
41D05
A175
A58E570535
456E570515
45CE5E5
A5CE515
A5C1
A51D35
451D35
455
A554FE71DA5
4554FE71D45
455AF0E71D45
45535
455E55
A55E75
4551573D
4551575
A55123
A55075
455075
455077
A57A51A5
457A5145
A7
47
47AA745
474A7A5
4735
470C5
4771C157
A771C123
A771C12E5
4771C12E5
A21D3
42073
42073D
A20712ED
6AAED
6A4ED
64AED
BA4535
B4A535
B44535
6A45E5
64A5E5
8AA5E5
8AA535
B4BAC0073
84B4C0073
8464C0073
BAB4C007E5
6AB4C00735
6A64C00735
8A6AC00735
6A64C05
8A8AC05
848AC05
8484C05
BABA5
B48A5
B4845
8AB45
BAB6177
B4B8177
B468177
B486177
B488177
64BB177
8A86177
BAB8177ED
BA8B1773D
B4BB1773D
6A6B1773D
6A8B177ED
6A861773D
648B177ED
8A6B177ED
8468177ED
BA661775
B4661775
6ABB1775
6A881775
64B81775
8AB3
8483
BA6E5
BA835
8A6E5
84635
B4BE51A5
B4835145
6A6351A5
8ABE5145
84B351A5
846E5145
848351A5
BABE51A5E5
BA635145E5
B4BE5145E5
B4635145E5
B48E5145E5
8ABE51A5E5
8A635145E5
8A8E5145E5
84BE51A5E5
846351A5E5
BAB351A515
6A63514515
646351A515
8ABE514515
8AB351A515
BA8E5105E5
BA835105E5
6A83510535
648E5105E5
8A6E5105E5
84B35105E5
B4B3510515
6ABE510515
6AB3510515
64BE510515
646E510515
6483510515
BA813D
B4B13D
6AB13D
6A813D
6461ED
6481ED
8A61ED
8A613D
6A81E5
64B1E5
8A81E5
8461E5
B4B1E57
8481E57
BAB005
B48005
6AB005
64B005
648005
64CC135
8ACC1E5
84CC1E5
6ACC0E5
B4CC05
6AD
64D
8AD
64D455
8ADA553D
8ADA5535
B4DD357
84DD357
6ADD13
6ADD1E5
6AFFED
6AFF3D
84FF5
B4F7
64F7
84F7
6AF75
64F75
BA17
B417
6412A5
64123
B4123D
64123D
84123D
BA0BAB
B40BAB
6A06AB
8408AB
B40BA65
B408A65
B408A85
8A08A85
840BA65
8408A65
8A5
BA53
B45ED
845ED
8A5E57
845357
B451C171E5
8A51C5
BA515
B4515
8A515
BA55
B4553
6A5535
BA55357
6A55357
BA55E7
BA5537ED
BA55375
8A553773D
BA551357
6A573
BA573D
B4573D
BA57E5
BA5735
8A57E5
6A571
645715
845705
B4575
B47
647
6A7A745
647A7A5
8A7ED
8A73D
B47E5
847E5
6A75
6475
B477
8A77
8477
6A242235
842422E5
B3
83
834D
B3ADED
6E4DED
6E4D3D
8EAD3D
6E4D1E57
634D1E57
83AD1E57
BE4D5
BEA57
BE457
8EA57
6EA571E5
8E457135
BE4575
6EA575
6E4575
8E4575
83A575
83A7
8E471357
83471E57
83471357
BEA71F1ED
B3471F13D
63471F13D
BEA71F135
6EA71F1E5
6E471F1E5
8E471F135
83471F1E5
BEA75
8E475
63CA553
BECA55E5
8EC455E5
83CA55E5
83CC4CC145
63D
BEDAD
6EDAD
8ED4D
BEDA23
BED423
63DA23
B3D423D
63DA2ED
B3DA2E5
B3D4235
6EDA235
8ED4235
83D4235
8ED3
B3DE5
6EDF457
83D5
8ED51DE5
8ED51D35
8ED5175
63D57EAD
833
BEE6E3
6EEBE3
6338E3
8EEB33
8EE6E3
83E633
BE3BE35
BE36E35
B3E6EE5
B3E6E35
B3E63E5
B336335
6EE63E5
63EBEE5
8EE6E35
8EE63E5
8E38335
83E6E35
8338E35
633D1
BE3D1E5
63ED1E5
B33F
63EF
833F
8E3F3D
833FED
6EEF1E57
8EEF1357
B33F5
63EF5
633F5
8EEF5
BEE5
8335
BEE7
8EE7
83E7
B3F17
BEF175
63F175
BEF177ED
6EF177ED
83F177ED
BE547
635A7
8E547
8353E5
BE5E5
BE535
B35E5
63535
BE5E75
B35375
635375
8E51D35
8351DE5
BE517
63517
6E5175
B3507
B35075
635075
835075
8357
6E574D
83573AD
B357EAD3D
B3573ADED
6357EAD3D
BE57EAD5
6E57EAD5
B357ED
63573D
8E745
8E73
6373D
837E5
BE71D
8371D
B371D3
BE71D3D
8E71D3D
6371D35
8E71DE5
BE71535
B37055
8E7055E5
BE75
6E75
8E75
6377A5
837745
B3773D
8377ED
8E771E5
632A22E5
6E2E5
BE22A22E5
B32242235
6E22A2235
632242235
61
B1453D
61453D
B14535
81A535
B1455ED
B1B
618B
81BB
B18B3D
61BBED
816BED
618B5
B165
61B5
B1CE5
B1DD135
81DD135
B1D3
B1DED
B1D3D
B1DE7
61DE7
81D375
61FF
61FFED
61FF3D
B1FF1E5
610C1D35
810D07
810D075
810F4C7
B105
8105
B1057A71C5
B1057471C5
81071C5
810717E5
81071735
B15
815
B15C0771
8153
615EC73D
6153C7ED
615E5
6157
617
B173
B1773
B1771E57
61775
81775
B12A22E5
812A22E5
612E5
61221E5
B04B
80AB
804B
804B5
80A5
60457
60A573D
604573D
B0A575
B047
8047
B0A73D
B0A713
B047135
60475
60BAC5
806AC5
B08A5
60BA5
608A5
808A5
B08B3D
80BB3D
B0BB1E5
60BB135
806B177ED
806C47
B06071E5
6065
6085
8065
60CACC105
B0CC35
80CC135
80CC15
60D
B0DE5
B0D35
80D1CE5
60D1ED
80D1ED
6037
80E7
B0E75
80FF
60FF05
60FF5
80FF5
B015
8015
B0173
60173
800B
60081E5
B00B01513
B00801513
B006005
8006005
B0065
80065
B00D13
B00D1ED
B005
60053
B0053D
6005ED
80053D
B0057
B0075
B0023
B0023D
B002E5
805
B0553D
80553D
805535
B055E57
8055E57
B05537
B055E75
607
607A5
8077
8022E771
C4A5
CAB613
C4BB135
CAB06BED
CAB0B5
CAB5
CACA05
C4CA05
C4C405
C4DD1CE5
C4D3
C4DEE5
CADE75
C4D375
C4D1E5
CAD15
CAEC1715
C4E53
CAFE5
CA171FF
C45C4DED
C45C05
CA5EA53
CA53A5E5
C45EA535
C453A735
C453D
C45EF13D
C453F13D
C45EF135
CA53053
CA5E5
C453773
C4517A5
C451745
C455ABA5
C4554BA5
CA55377E5
C455E77E5
C455377E5
CA5515
C457
CA573
C4573
CA7ABA515
C474BA515
CA7B0A75
C47B0A75
CA73
C473
CA735
CA75
C47713
C4771357
CEA5
CEA535
C3A5E5
CEB1D5
C3C17135
C3D3
CED35
C3D1
CE1BA5
C3553
CE553D
CE57A5
C3571
C35701
CE5705
C37E5
C1551E5
C155135
C173
C17355E5
C17135
C171F13D
C047
C0A7EE5
C0A75
C0475
C0A773573D
C0477E57ED
C04773573D
C0B
C0BAEA5
C0BB
C0BB1E57
C061A5
C0B5
C065
C0C0773
C0D45
C0D3
C0DEC5
C0D1F13D
C0D1F1E5
C0E517E5
C0E51735
C03517E5
C0FF3E5
C01FF3D
C005
C00713
C007135
C05E75
C055E7
C05537
C057E5
C05735
C07
C07153D
C077ED
C02ED
C0213D
C02135
DAB
D4B6A5
DAB6ED
DAC3
D4C35
D4D4157
DADA1575
D4DD3D
DADD135
D4FF1E5
D4FF5
DA15
D415
DA151E5
DA15135
DA5513
DA7AB453D
DA74BA53D
DA7AB4535
D4735
DA23
D3
DEAC1D1F1ED
D3AC1D1F1E5
D3AC1D1F135
DEAD8EA7
DEADED
DEBA73
DEB47ED
D3BE5
DEB055E5
D3B7ED
DEB73E5
D3B73E5
D3C4D35
DEC4D5
DECAF
DEC4F
DECAFF
DEC1D3
D3C1D3D
D3C1DE5
D3C0C75
D3C0D3
DED1C47ED
D3D1C47EE5
DED1CA7E5
D3ED357
D3ED1357
DEE75
D3F
DEF4C3
DEFACED
D3F4CED
DEF457
D3FA57
DEFECA73
DEF3C473
D3FEC473
DEFEC47E5
DEF3C4735
D3F3C75
DEF1
D3F1ED
DEF7357
D31C3
D31C1D3
D31F13D
DE1F135
DE17135
DE0DA7E5
D35157ED
D3553
D35535
DE7EC7
D37EC7
DE7EC73D
D373C73D
D37EC75
DE7357
DE7E573D
DE7357ED
D14BE735
D14C7
D1A2035
D1A20715E5
D16BED
D18B5
D1C3
D1CED
D1C35
D1C73D
D1DAC71C5
D1DD135
D13
D1E0FF
D1E5E5
D1E7ED
D1375
D1F
D1FF
D10C35E5
D10DE5
D153A5ED
D155A715F13D
D1553A7
D155EA7ED
D155EC75
D155E12EE5
D157A57E5
D177
D1221ED
D0AB
D04B
D0BBED
D085
D03
D0F
D0FF
D00B5
D0085
D00C075
D00213
D05E5
D0735
D0773D
D021357
E453
3A51E5
3A51357
3457
3A57ED
347
E6B
38B
EB6ED
E8B3D
E883D
3B6ED
368ED
388ED
EB637
3BBE7
3B6E7
368E7
38837
E8BE75
3B8375
368E75
EB85
3865
3B671D3
EB671DE5
E8B71D35
E8871D35
36671D35
38671D35
38871DE5
ECAD
EC4D
3CAD5
ECC3
EC3515E5
3CE515E5
3C0D
EC57451E5
3C57A51E5
EC5745153
3C57451235
EC7A51A5
EC7A5145
EC7451A5
3C7A5145
3C74515
3D
3DD13D
EDD135
3DD1E5
EDD0E5
3DD035
ED1C7
ED1C75
ED1F1ED
ED17ED
ED5
E3
EF
EFFEC7
3FF1C4C1E5
3F5
31573DDF0D
E1573DDF0D5
E5
35
355
E5535
E57
E574FE773
3570C5
E575
3745
E747
37A7157E5
E7A75
FAB6E57
F4BBE57
F4B6E57
FACADE5
FACAD35
F4C3
FAC37
F4CE73D
F4CE77ED
F4C3773D
F4C1A5
F4C145
F4C71C35
F4C715
FAC75
FAD
F4D
FAD41535
FADD157
F4ECE5
F4EC35
FAFF3D
F4FFED
FA571
FA57135
FA7
F47
FA7ED
F475
FA750E5
FA77157
F477157
FEA535
F3A535
FEA573D
FEA7ED
F3A23D
FEA235
F3A2E5
F3CE5
FEC17
F3C17
FEEB5
FEED5
F3E23
FEE235
F3E2E5
FE1575
FE0D5
FE5535
FE57
F373
F37ED
FE75
F377
F1DE157
F1D05
F1D5
F1357
F1F3D
F1573D
F17
F175
F177E5
F0B
F0BBED
F06BED
F0CACC1A5
F035
F01D
F00D135
F007ED
F0073D
F007513
F021E57
161C35
1615
1B1535
1815E5
181535
1C3B0A75
1C3B0475
1C3D
1D
1D3
1DEA5
1DEA73D
1DEE5
1D35
1D107
1D107C135
1F
10DA7ED
10D153
10D1535
107A5
15BA5
1517
150D05E5
150D0535
1505
15057451E5
17
17A5
175
12247
04F
0A535
0A57
0A7
047
0A75
0B
08A5
061
0B15
0815
0617
0B03
0805
0B5
065
0B5355
085355
085E55ED
085355ED
0B535535
065355E5
06535535
0B7E57ED
0673573D
0B73575
0C7AD5
0C74D5
0C7A5
0C7375
0D
0DD5
0D3
0DE5
0D157
03
0E5
035
0FFBEA75
0FF8EA75
0FF1C3
0FF1CE5
0FF1C147ED
0FF5E75
0FF51D3
00617
00F1357
005
0053
007
05
053
0551F13D
0551F1E5
057301D
057051535
07171535
07705
5AB
54B6A7
54B6A715E5
5AB6A712ED
54B6A7123D
5AB8A71235
5ABBED
5AB8ED
54BBED
54B6ED
54B3
5AB35
54B35
54C5
5AD
5ADDE57
54DD035
5AD3
54DE5
54D1
5AFE5
54F35
5AFE57
5AFE713D
54F7
5AF7357
541CE5
541D357
5455
5A553
5455E5
5A55135
5A551357
5A7
5A7A15
5A73D
5A7E5
5471
5A71E7135
54235
5C4B
5CABBED
5C4B1E5
5CAB5
5C4D
5C4FF5
5CA7
5C47
5C477ED
5C0D1357
5C0FF5
5C075
5EABED
53ABED
53A8ED
53ABED5
5EAB007
53AB0075
53AC0A57
5EAC04575
5EA5
5EA5E5
53A51DE5
5EA23D
53A235
5EB473
53BA735
53B47E5
5ECED3
5ECED3D
5ECEDE5
5EDA73
5EDA7E5
5ED47E5
53DA735
53D47E57
5EED6ED
5EEDBED5
5EED1357
5315
5E15ED
5E123D
5E12E5
531235
5357E7
5E57E7735
5E7
5E75
51B
516B5
51CC3D
51CE5
51D45
51D3
51DED
5135
51F7
515
51573D
517
5123
50B
50BA5
50CA5
50C45
50C1E71E5
50DD3D
50DD1E57
50D5
50FABED
50FABED5
50F45
50F7E57
50F713
5007E5
50071357
50075
5077ED
57ACCA71
574CCA71
57ACCA705
574C73
57AFF
57AFFED
57A1DE57
5747
57A7ED
573AD
57EADFA57
573AD5
57EA705E5
57EDD3D
57EDD135
57E75
571CC470E5
571DD13D
5713
570B
570BBED
570B5
57065
5707
57077ED
74A745
74B
74B61ED
7AB6135
74B6135
74B615
74B615E5
7ABEF13D
7AB371C5
74B1
7AB15
74B15
7AB003D
74B00ED
74B003D
74C375
7AC17
74C05
7AC71C171E5
7AED
7AFFE7A5
7AFFE71E5
7AFFE7135
7AFF1E5
7A15
7415
7A05
745
7A5513
7A571E57
74735
7A77ED
7A773D
74773D
7EAD
7EAD3
7EAD35
73ADE5
7EAED
7EA3D
73A5E5
7EA7
73A23D
7EB6AD
7EC717E5
7ED
73DD3D
73DD1E5
73E5
7E11D5
7357
73571357
73571F1E5
735715
737
7E73
71
71CCED
71C3
71DD1E57
71D1E5
713
7177ED
70A57ED
70A2ED
70A2E5
706ACC05
70DD35
70EB1E5
703B1E5
70ED
70E5
70FF
70153
70075135
7057
7075
70771357
70235
72E753
2A5
24715
2EA5
2EBEC5
23D5
2E57
23575
218E7
2173
2122E5
2001D
2225
import re
def replacements(word, rep, start=0):
i = None
for letter in rep.keys():
try:
j = word.index(letter, start)
if i is None or j < i: i = j
except ValueError:
pass
if i is None:
yield word
return
for substitute in rep[word[i]]:
for replacement in replacements(word[i+1:], rep, i):
yield word[:i] + substitute + replacement
def substitutions(word):
if not re.match(r"^[A-FOISTZ]+$", word): return
word = word.replace("O", "0").replace("I", "1").replace("S", "5").replace("T", "7").replace("Z", "2")
yield from replacements(word, { "A": ("A", "4"), "B": ("B", "6", "8"), "E": ("E", "3") })
proof.arithmetic(False)
with open("/usr/local/share/dict/sowpods.txt", 'r') as f:
for word in f:
word = word.strip().upper()
word = re.sub(r"[^A-Z]", "", word)
for word in substitutions(word):
if is_prime(int(word, 16)):
print(word)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment