2023-06-06 19:42:51 +02:00

31 lines
920 B
Python

#!/usr/bin/env python3
# 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?
from itertools import permutations
from timeit import default_timer
def main():
start = default_timer()
# Generate all the permutations in lexicographic order and get the millionth one.
perm = list(permutations('0123456789'))
res = int(''.join(map(str, perm[999999])))
end = default_timer()
print('Project Euler, Problem 24')
print(f'Answer: {res}')
print(f'Elapsed time: {end - start:.9f} seconds')
if __name__ == '__main__':
main()