Platinum Partner
python,architects,bigdata,tips and tricks,tools & methods,big data

Sonnet Primes in Python

A while back I wrote about sonnet primes, primes of the form ababcdcdefefgg where the letters a through g represent digits and a is not zero. The name comes from the rhyme scheme of an English (Shakespearean) sonnet.

In the original post I gave Mathematica code to find all sonnet primes. This post shows how to do it in Python.

```from sympy.ntheory import isprime
from itertools import permutations

def number(t):
# turn a tuple into a number
return 10100000000000*t[0] + 1010000000000*t[1] \
+   1010000000*t[2] +     101000000*t[3] \
+       101000*t[4] +         10100*t[5] \
+           11*t[6]

sonnet_numbers = (number(t) for t in
permutations(range(10), 7) if t[0] != 0)

sonnet_primes = filter(isprime, sonnet_numbers)```

Published at DZone with permission of {{ articles[0].authors[0].realName }}, DZone MVB. (source)

Opinions expressed by DZone contributors are their own.

{{ tag }}, {{tag}},