36 lines
977 B
Python
36 lines
977 B
Python
#!/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))
|
|
return "".join(str(digit) for digit in _permutations[999999])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
print(f"Result for Problem 24: {compute()}") |