masterbeta
Messages postés4Date d'inscriptionsamedi 5 mars 2011StatutMembreDernière intervention11 mars 2011
-
10 mars 2011 à 04:12
masterbeta
Messages postés4Date d'inscriptionsamedi 5 mars 2011StatutMembreDernière intervention11 mars 2011
-
10 mars 2011 à 15:45
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!
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 201625 10 mars 2011 à 09:06
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.