#!/usr/bin/env python """ Created on 29 Jun 2021 @author: David Doblas Jiménez @email: daviddoji@pm.me Solution for problem 041 of Project Euler https://projecteuler.net/problem=41 """ from project_euler_python.utils import is_prime, timeit def is_pandigital(number): number = sorted(str(number)) check = [str(i) for i in range(1, len(number) + 1)] if number == check: return True return False @timeit("Problem 041") def compute(): """ We shall say that an n-digit number is pandigital if it makes use of all the digits 1 to n exactly once. For example, 2143 is a 4-digit pandigital and is also prime. What is the largest n-digit pandigital prime that exists? """ for ans in range(7654321, 1, -1): if is_pandigital(ans): if is_prime(ans): return ans if __name__ == "__main__": print(f"Result for Problem 041: {compute()}")