aboutsummaryrefslogtreecommitdiff
path: root/python/43-sub_string_divisibility.py
blob: 16164c1da92a14f7b402122e718e57fdeba69482 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from itertools import permutations


first_primes = [2, 3, 5, 7, 11, 13, 17]
all_pandigital = [int(''.join(map(lambda n: str(n), x))) for x in permutations(range(10)) if x[0] != 0]


def property_check(nb):
    str_nb = str(nb)
    indexs = [1, 2, 3]
    for i in range(7):
        if int(''.join([str_nb[i] for i in indexs])) % first_primes[i] != 0:
            return False
        indexs = [x + 1 for x in indexs]

    return True


nb_sum = 0
for nb in all_pandigital:
    if property_check(nb):
        nb_sum += nb

print(nb_sum)