Optimiser F8 avec un tableau de programmation dynamique

This commit is contained in:
rabot
2026-10-21 11:15:43 +02:00
parent 02fcd4b443
commit 5cdf32fdae
3 changed files with 48 additions and 5 deletions
+18
View File
@@ -207,6 +207,23 @@ static void tester_paires(void)
}
}
static long monnaie_reference(int somme, int nb_pieces)
{
if (somme == 0)
return 1;
if (somme < 0 || nb_pieces == 0)
return 0;
return monnaie_reference(somme - PIECES[nb_pieces - 1], nb_pieces) +
monnaie_reference(somme, nb_pieces - 1);
}
static void tester_monnaie(void)
{
for (int s = -2; s <= 40; s++)
for (int k = 0; k <= NB_PIECES; k++)
assert(nb_facons_rendre(s, k) == monnaie_reference(s, k));
}
int main(void)
{
tester_tri();
@@ -216,6 +233,7 @@ int main(void)
tester_periodes();
tester_recherches();
tester_paires();
tester_monnaie();
puts("Tests banque : OK");
return 0;
}