algorithmique (école d'ingénieur) · Chapitre 3 · Application directe du cours
De combien de façons ?
Sacs avec répétitions, multi-ensembles et couples de sacs · niveau 2
Énoncé
On veut compter les façons de former la somme avec des pièces de valeurs en nombre illimité, sans tenir compte de l'ordre ( et sont la même façon).
- On note le nombre de façons de former avec les premières sortes de pièces. Inspirez-vous de la seconde version du cours (« aucun exemplaire de la -ème pièce, ou au moins un ») pour écrire l'équation de récurrence.
- Montrer qu'un seul tableau suffit, parcouru par croissants. Écrire la fonction.
- Combien de façons de former avec ? de former avec ?
Corrigé
- Les façons de former avec les premières sortes de pièces n'utilisent aucune pièce (il y en a ) ou en utilisent au moins une : en retirant l'une d'elles, on obtient une façon de former avec les mêmes sortes. Ces deux familles sont disjointes : on additionne. Base : , pour . Hérédité : ,
- Pour fixé, demande (l'ancienne valeur de la case ) et (une case de la même ligne, déjà mise à jour si l'on parcourt les par valeurs croissantes).
static long facons(int[] P, int S) {
long[] F = new long[S + 1];
F[0] = 1; // base : la façon vide
for (int p : P) // k croissants
for (int s = p; s < S + 1; s++) // s croissants
F[s] += F[s - p]; // F[s] devient f(k,s)
return F[S];
}
La boucle externe sur les pièces garantit que l'ordre des pièces ne compte pas : chaque façon est construite en ajoutant les pièces sorte par sorte.
nom : F
valeurs : 1 1 2 2 3 4 5 6 7 8 10
colorier : 10
vert : 5..9
fleches : 5->10
legende : pièces 1, 2, 5, passage de la pièce 5 : F[10] = 6 + F[5] = 10
- Le programme donne façons de former avec , et façons de former avec .
100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.