# coding: utf-8
# # [Project Euler](https://ProjectEuler.net)
# [This Python 3 notebook](Project%20Euler%20%28Python%203%29.ipynb) contains *some* solutions for the [Project Euler](https://ProjectEuler.net) challenge.
#
# ### /!\ **Warning:** do not spoil yourself the pleasure of solving these problems by yourself!
#
# [I (Lilian Besson)](http://perso.crans.org/besson/) started in February 2015, and worked occasionally on Project Euler problems in March and April 2015.
# I should try to work on it again, hence this notebook...
#
# ![Badge giving the number of solved problems](https://ProjectEuler.net/profile/Naereen.png "Badge giving the number of solved problems")
# ----
#
# ## Problem 32 : Pandigital products
# *Find the sum of all products whose multiplicand/multiplier/product identity can be written as a 1 through 9 pandigital.*
# In[6]:
maxN = 987654321
maxN = 654321 # XXX Passer à la vraie valeur
l = len(str(maxN))
sum32 = 0
digits19 = set(range(1, l+1))
for multiplicand in range(1, 1+maxN): # upto 987 654 321
multiplier = 1
product = multiplicand * multiplier
while multiplier <= maxN and product <= maxN: # Be smart here!
digits = str(multiplicand)+str(multiplier)+str(product)
if len(digits) == l and set(digits) == digits19:
print("multiplicand = {}, multiplier = {}, product = {}".format(multiplicand, multiplier, product))
print("digits =", digits)
sum32 += product
multiplier += 1
product = multiplicand * multiplier
print("The sum of all products whose multiplicand/multiplier/product identity can be written as a 1 through", l, "pandigital is")
print(sum32)
# In[ ]: