Algo max chiffre ecrie de même chiffre donner par l'utilisateur

Signaler
-
Messages postés
419
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
20 octobre 2020
-
Bonjour,

je veux s'avoir comment faire un algorithme,l'utilisateur doit donnée un nombre entier ,la machine doit afficher le max de nombre ecrie par les mêmes chiffres sans utilisé le type tableau ,par exemple si on le donne 41358 il vas afficher ca => 85431 .

Configuration: Android / Chrome 76.0.3809.132

1 réponse

Messages postés
419
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
20 octobre 2020
215
Bonjour,
Votre problème revient à trier les chiffres dans l'odre décroissant. Si l'utilisation d'un tableau est interdite, ça complique pas mal les choses.
J'imagine que transformer le nombre en chaine de caractères n'est pas une solution puisque une chaine de caractère est un tableau de caractères.

Une solution que je vois c'est de manipuler les chiffres du nombre séparément grâce à des opérations mathématiques (notament division entière et modulo) pour recréer un algorithme de tri.
Par exemple pour obtenir le 3ième chiffre du nombre 41358 en partant de la droite, on peut faire 41358/100 qui donne 413 puis 413%10 qui donne 3. Le / représente ici la division entière et % le modulo.
De manière général pour obtenir le ième chiffre d'un nombre n en partant de la droite avec i allant de 0 au nombre de chiffres - 1, on fait n/(10^i)%10.

En utilisant ce principe vous pouvez découper le nombre en plusieurs partie pour faire un algorithme de tri puis reconstruire le nombre.

Je n'ai pas trouvé plus simple sans l'utilisation d'un tableau, peut-être que quelqu'un proposera une autre solution.

Bonne soirée