Sub-string Divisibility#
from itertools import *
def has_property(digits):
primes = [1, 2, 3, 5, 7, 11, 13, 17]
for i in range(1, len(digits) - 2):
if not int("".join(digits[i : i + 3])) % primes[i] == 0:
return False
return True
def convert_list_to_int(l):
return int("".join(str(i) for i in l))
pandigitals = permutations((str(i) for i in range(10)))
print(sum(convert_list_to_int(p) for p in pandigitals if has_property(p)))
OUTPUT
16695334890