| 123456789101112131415161718192021222324252627282930313233343536 |
- pan = set("123456789")
- def isPandigital(n):
- """Returns a boolean indicating whether a number is pandigital"""
- n = set(str(n))
- if n == pan:
- return True
- else:
- return False
- def main():
- productsList = []
- # Covers 2 digits * 3 digits
- for i in range(10,99):
- for j in range(100,999):
- product = i*j
- if len(str(product)) == 4:
- if isPandigital(str(i) + str(j) + str(product)):
- if product not in productsList:
- productsList.append(product)
- print(i,j,product)
-
- # Covers 1 digit * 4 digits
- for i in range(2,9):
- for j in range(1000,9999):
- product = i*j
- if len(str(product)) == 4:
- if isPandigital(str(i) + str(j) + str(product)):
- if product not in productsList:
- productsList.append(product)
- print(i,j,product)
- return sum(productsList)
- print(main())
|