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

Fermé
juba1999 - 27 févr. 2020 à 17:36
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 - 27 févr. 2020 à 17:59
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
A voir également:

1 réponse

quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 344
27 févr. 2020 à 17:59
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
0