32 lines
718 B
Python
32 lines
718 B
Python
from lib_misc import permutations
|
|
|
|
|
|
def is_sub_string_divisible(s):
|
|
s = "".join(s)
|
|
if int(s[1:4]) % 2 != 0:
|
|
return False
|
|
if int(s[2:5]) % 3 != 0:
|
|
return False
|
|
if int(s[3:6]) % 5 != 0:
|
|
return False
|
|
if int(s[4:7]) % 7 != 0:
|
|
return False
|
|
if int(s[5:8]) % 11 != 0:
|
|
return False
|
|
if int(s[6:9]) % 13 != 0:
|
|
return False
|
|
if int(s[7:10]) % 17 != 0:
|
|
return False
|
|
return True
|
|
|
|
|
|
def euler_043():
|
|
return sum([int("".join(p))
|
|
for p in permutations("0123456789")
|
|
if is_sub_string_divisible(p)])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("e043.py: " + str(euler_043()))
|
|
assert(euler_043() == 16695334890)
|