@@ -0,0 +1,775 @@
+%0Adef find_pandigital_products():%0A    pandigital = set(range(1,10))%0A%0A    for multiplicand in xrange(1,100):%0A        # find min/max multipliers that will produce a product of only 4 digits%0A        max_multiplier = 10**4/multiplicand%0A        min_multiplier = 1000 if multiplicand %3C 10 else 100%0A        for multiplier in xrange(min_multiplier, max_multiplier):%0A            product = multiplicand * multiplier%0A            numbers = (product, multiplicand, multiplier)%0A            all_digits = %7Bint(digit) for number in numbers%0A                                     for digit in str(number)%7D%0A            if all_digits == pandigital:%0A                yield product%0A%0Adef solve_p032():%0A    return sum(set(find_pandigital_products()))%0A%0Aif __name__ == '__main__':%0A    print solve_p032()%0A%0A

Solving p032