Lexicographic permutations

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?


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

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.