LUCAS WILLEMS
Un étudiant de 27 ans passionné par les maths et la programmation
Un étudiant de 27 ans passionné par les maths et la programmation
Voici un résumé de l'énoncé du problème 24 "Lexicographic permutations" du Project Euler (traduction complète en français ici) :
What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 ?
Reformulons le problème : il nous faut trouver la millionième permutation lexicographique des chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Pour résoudre ce problème, il nous faut donc générer les permutations dans l'ordre croissant et s'arrêter à la millionième. Toutefois comme pour le problème 19, Python, étant un langage de haut niveau, possède déjà une fonction générant les permutations d'une liste. Il nous suffit donc juste de :
Pour ceux qui penseraient que résoudre ce problème en utilisant une fonction déjà faite serait trop simple, Python publie dans sa documentation la fonction utilisée.
Voici donc le programme Python que nous pouvons utiliser pour résoudre ce problème :
import itertools permut = list(itertools.permutations("0123456789"))[999999] resultat = ''.join(permut) print(resultat)
La réponse à ce problème est 2783915460.
Voici les recherches relatives à cette page :
Qu'en pensez-vous ? Donnez moi votre avis (positif ou négatif) pour que je puisse l'améliorer.