Problem
This problem comes from Project Euler 24
Problem
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 210What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9?
Solution and Code
# Project Euler: Problem 24
# Lexicographic permutations
from itertools import permutations
lex = list(permutations([0,1,2,3,4,5,6,7,8,9]))
answer = ''.join([str(i) for i in lex[999999]])
print(answer)
- Line 6: Create a list of all the permutations for the numbers 0 to 10.
- Line 7: This code is just here so that I can easily copy and paste from
lex[999999]
. It ironically took more time to write this code than to get the answer fromprint(lex[999999])
. Work hard to be lazy 😤