Project Euler Problem 041
Statement
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?
Solution
Using Python's itertool's permutation object it's pretty easy.
from CommonFunctions import is_prime from itertools import permutations if __name__ == '__main__': result = 0 for i in range(3,10): for x in permutations([str(x) for x in range(1,i+1)]): x = int(''.join(x)) if is_prime(x): result = max(result, x) print("The result is:", result)
The Python file is available for download here.