forked from menault/2026_TD3_DEV51_Qualite_Algo
opti8
This commit is contained in:
@@ -244,18 +244,23 @@ long nb_paires_opposees(const Transaction *t, int n)
|
|||||||
return nb;
|
return nb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* F8 : nombre de façons de rendre une somme avec les pièces disponibles */
|
||||||
/* F8 : nombre de façons de rendre une somme avec les pièces disponibles */
|
/* F8 : nombre de façons de rendre une somme avec les pièces disponibles */
|
||||||
static const int PIECES[] = {1, 2, 5, 10, 20, 50, 100, 200};
|
static const int PIECES[] = {1, 2, 5, 10, 20, 50, 100, 200};
|
||||||
#define NB_PIECES 8
|
#define NB_PIECES 8
|
||||||
|
|
||||||
long nb_facons_rendre(int somme, int nb_pieces)
|
long nb_facons_rendre(int somme, int nb_pieces)
|
||||||
{
|
{
|
||||||
if (somme == 0)
|
long dp[MONTANT_MONNAIE + 1] = {0};
|
||||||
return 1;
|
dp[0] = 1;
|
||||||
if (somme < 0 || nb_pieces == 0)
|
|
||||||
return 0;
|
for (int i = 0; i < nb_pieces; i++) {
|
||||||
return nb_facons_rendre(somme - PIECES[nb_pieces - 1], nb_pieces) +
|
for (int s = PIECES[i]; s <= somme; s++) {
|
||||||
nb_facons_rendre(somme, nb_pieces - 1);
|
dp[s] += dp[s - PIECES[i]];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return dp[somme];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* F9 : catégorie d'une transaction (pour les statistiques) */
|
/* F9 : catégorie d'une transaction (pour les statistiques) */
|
||||||
|
|||||||
Reference in New Issue
Block a user