Files
SolutionEuler/solutions/0024/euler_24.py
Sidney Zhang 1062338b2b feat(euler_24.py):添加欧拉项目第24题的解决方案
📝 docs(euler_24.py):包含问题描述和算法实现
2025-12-23 18:23:18 +08:00

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()