1 pièce(s) jointe(s)
Mise en place d'un algorithme récursif
Bonjour à tous.
Voilà mon problème : j'ai un exercice à faire sur la récursivité en java. Le but est d'afficher la suite des k-partitions d'un entier n. Cependant, je n'arrive pas à un résultat valable. Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public static Suite partition(int n, int k) {
Suite s = new Suite(0);
if (k == 1) {
return s = new Suite(1);
}
if(k > n) {
return s = new Suite(0);
}
System.out.println( s = partition(n-k,k).concat(partition(n-1, k-1)));
return(s);
} |
Et voici ce que j'obtiens à la l'exécution :
Code:
1 2 3 4 5 6 7
| Saisissez un nombre à partitionner
5
Saisissez le nombre de partitions de ce nombre
4
[{0},{1}]
[{0},{0},{1}]
[{0},{0},{0},{1}] |
Je vous transmets également l'énoncé en détail (il s'agit de l'exercice 5 - objectif 2, page 7).
Ma question est comment se servir de la suite et où mon code foire ?
Merci à tous pour votre aide.