#!/usr/bin/env python3 """ Created on 29 Jun 2021 @author: David Doblas Jiménez @email: daviddoji@pm.me Solution for problem 41 of Project Euler https://projecteuler.net/problem=41 """ from utils import timeit, is_prime @timeit("Problem 41") 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? """ 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 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 41: {compute()}")