Solution to problem 24

This commit is contained in:
David Doblas Jiménez 2021-08-13 21:52:02 +02:00
parent aaa12e97d6
commit f33afdb5c1

37
src/Python/Problem024.py Normal file
View File

@ -0,0 +1,37 @@
#!/usr/bin/env python3
"""
Created on 11 Sep 2019
@author: David Doblas Jiménez
@email: daviddoji@pm.me
Solution for problem 24 of Project Euler
https://projecteuler.net/problem=24
"""
from itertools import permutations
from utils import timeit
@timeit("Problem 24")
def compute():
"""
A permutation is an ordered arrangement of objects. For example, 3124 is
one possible permutation of the digits 1, 2, 3 and 4. If all of the
permutations are listed numerically or alphabetically, we call it
lexicographic order. The lexicographic permutations of 0, 1 and 2 are:
012 021 102 120 201 210
What is the millionth lexicographic permutation of the digits
0, 1, 2, 3, 4, 5, 6, 7, 8 and 9?
"""
digits = list(range(10))
_permutations = list(permutations(digits))
print(_permutations[0])
return "".join(str(digit) for digit in _permutations[999999])
if __name__ == "__main__":
print(f"Result for Problem 24: {compute()}")