1
0
Fork 0
projecteuler/51.py

33 lines
917 B
Python

import itertools as it
import gmpy2
length = 6
repeats = 3
permupattern = [0, 0, 0, 1, 1, 1]
familysize = 8
patterns = list(set(list(it.permutations(permupattern, length))))
digits = list(it.product(range(0, 10), repeat=length-repeats))
for pattern in patterns:
breakout = False
for digit in digits:
family = []
for i in range(0, 10):
numlist = []
count = 0
for p in pattern:
if p:
numlist.append(i)
else:
numlist.append(digit[count])
count += 1
num = int(''.join(map(str, numlist)))
if len(str(num)) == length:
family.append(num)
if family and len(filter(lambda n: gmpy2.is_prime(n), family)) == familysize:
print family
breakout = True
break
if breakout:
break