30 lines
839 B
Python
30 lines
839 B
Python
"""
|
|
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
|
|
|
|
|
|
def ordered_permutations(n: int) -> list[int]:
|
|
digits = list(range(10))
|
|
all_permutations = permutations(digits)
|
|
for _ in range(n - 1):
|
|
next(all_permutations)
|
|
return next(all_permutations)
|
|
|
|
|
|
def main():
|
|
n = 1000000
|
|
result = ordered_permutations(n)
|
|
print("".join(map(str, result)))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|