''' Take the number 192 and multiply it by each of 1, 2, and 3: 192 × 1 = 192 192 × 2 = 384 192 × 3 = 576 By concatenating each product we get the 1 to 9 pandigital, 192384576. We will call 192384576 the concatenated product of 192 and (1,2,3) The same can be achieved by starting with 9 and multiplying by 1, 2, 3, 4, and 5, giving the pandigital, 918273645, which is the concatenated product of 9 and (1,2,3,4,5). What is the largest 1 to 9 pandigital 9-digit number that can be formed as the concatenated product of an integer with (1,2, ... , n) where n > 1? ''' def conLength(n): i = 1 p = len(str(n)) while p < 9: i += 1 p += len(str(i * n)) if p == 9: return True return False def isPandigital(n): digits = {1, 2, 3, 4, 5, 6, 7, 8, 9} if set(map(int, str(n))) == digits: return True return False def concatProduct(n): i = 1 d = n while len(str(d)) < 9: i += 1 d = int(str(d) + str(n * i)) return d def main(): print("Hello this is Patrick") m = 0 for i in range(1, 54321): if conLength(i): d = concatProduct(i) if isPandigital(d) and d > m: m = d print(m) if __name__ == "__main__": main()