From the Project Euler
Problem 24:
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?
checked
very interesting, I have implemented the Steinhaus–Johnson–Trotter algorithm, I found very useful the pages Johnson-Trotter Algorithm Listing All Permutations and Steinhaus Johnson Trotter permutation algorithm explained and implemented in Java
this algorithm is very efficient, only about 2 seconds to find all permutations, ie 10! = 3628800
Leave a Reply