Affichage d'un nombre invers en java [Résolu]

Signaler
Messages postés
4
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
11 mars 2011
-
Messages postés
4
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
11 mars 2011
-
Salut! Comment je peux afficher un nombre(par exemple 5487) inverse(cet-a-dire 7845) en java utilisant récursivité (par une méthode récursive et une méthode itérative)??
Je sais que ca n'est pas difficile mais j'ai des difficultés..:( SVP aidez moi..
Merci!

2 réponses

Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
23
Salut,

La même chose est plus facile à faire avec des chaînes de caractères

Voici quelques pistes pour la méthode récursive en travaillant uniquement avec des int, mais si tu as le droit de passer par des String, il y a plus simple :

1) signature de la méthode :
public int inversionRecursive(int nombre)

2) on va considérer qu'on n'a que des nombres positifs ou nuls

3) que peut-on dire de inversionRecursive(n) si n < 10?

4) exemple avec 5487, comment peut-on décomposer 5487 en 548 d'une part et 7 d'autre part? (indice utilise les opérateurs / et %)

5) quelle relation peut-on faire entre inversionRecursive(5487), inversionRecursive(548) et inversionRecursive(7)

6) comment obtenir le nombre 1000 de la relation précédente? (C'est là que le problème se complique un poil...) Je te suggère de définir une méthode utilitaire (elle aussi récursive) permettant de déterminer ce coefficient, la voici :

public int getPuissanceDixInferieure(int nombre) {

   int puissanceDixInferieure;

   if (nombre < 10) {
      puissanceDixInferieure = 1;
   } else {
      puissanceDixInferieure = 10 * puissanceDixInferieure(nombre / 10);
   }

   return puissanceDixInferieure;

}


Voilà, je te laisse assembler le tout. La version itérative est plus simple à mon avis. Si tu as des questions supplémentaires, n'hésite pas.
Messages postés
4
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
11 mars 2011

Merci beaucoup ami!!