Solution to problem 41

This commit is contained in:
David Doblas Jiménez 2021-09-11 19:44:26 +02:00
parent 7adb7a02ca
commit 675c03ef94

39
src/Python/Problem041.py Normal file
View File

@ -0,0 +1,39 @@
#!/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()}")