#!/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()