31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
|
|
import itertools
|
|
from pprint import pprint
|
|
from primes import is_prime
|
|
|
|
if __name__ == '__main__':
|
|
results = []
|
|
for i in range(1000, 10000):
|
|
combos = set(''.join(x) for x in itertools.permutations(str(i)))
|
|
combos = [int(x) for x in combos if int(x) > 1000]
|
|
if len(combos) < 3:
|
|
continue
|
|
primes = [int(x) for x in combos if is_prime(int(x))]
|
|
if len(primes) < 3:
|
|
continue
|
|
elif len(primes) > 3:
|
|
poss = itertools.combinations(primes, 3)
|
|
poss = set(poss)
|
|
for p in poss:
|
|
concat = sorted(p)
|
|
if concat not in results:
|
|
results.append(concat)
|
|
else:
|
|
results.append(sorted(primes))
|
|
|
|
results = [list(x) for x in set(tuple(x) for x in results)]
|
|
results = sorted(results, key=lambda x: (x[0], x[1]))
|
|
for result in results:
|
|
if result[1] - result[0] == result[2] - result[1]:
|
|
print(result, str(result[0]) + str(result[1]) + str(result[2]))
|