From b40a1c2081ed7cabdee96b9b34185c3bab1390df Mon Sep 17 00:00:00 2001 From: abraham Date: Wed, 21 Oct 2026 11:44:36 +0200 Subject: [PATCH] fonction 8 : O(S x k) --- COMPTE_RENDU.md | 2 +- banque | Bin 21208 -> 21256 bytes banque.c | 25 ++++++++++++++++++++++--- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/COMPTE_RENDU.md b/COMPTE_RENDU.md index 9699c8b..386ef5d 100644 --- a/COMPTE_RENDU.md +++ b/COMPTE_RENDU.md @@ -98,7 +98,7 @@ La complexité de la fonction est de [O(n)] pour - Optimisation de la fonction 7 nom du commit : "". Emprunte : ff68d260a7a58441 -- Optimisation de la fonction 8 nom du commit : "". Emprunte : ff68d260a7a58441 +- Optimisation de la fonction 8 nom du commit : "fonction 8 : O(S x k)". Emprunte : ff68d260a7a58441 - Optimisation de la fonction 9 nom du commit : "". Emprunte : ff68d260a7a58441 diff --git a/banque b/banque index 37b4cbd5bb81970a637236395baf629ef65a54cb..c983cc0749161ac6710032162abee87f5fa43be4 100755 GIT binary patch delta 4839 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 NB_PIECES) + nb_pieces = NB_PIECES; + + long *combinaisons = malloc((somme + 1) * sizeof(long)); + if (combinaisons == NULL) + return 0; + + for (int montant = 0; montant <= somme; montant++) + combinaisons[montant] = 0; + combinaisons[0] = 1; + + for (int i = 0; i < nb_pieces; i++) { + for (int montant = PIECES[i]; montant <= somme; montant++) + combinaisons[montant] += combinaisons[montant - PIECES[i]]; + } + + long resultat = combinaisons[somme]; + free(combinaisons); + return resultat; } /* F9 : catégorie d'une transaction (pour les statistiques) */