diff --git a/TD07/INF-TC1-td07.ipynb b/TD07/INF-TC1-td07.ipynb index c7262c5d015cd9ad1c850b77a17d85071eab22b1..5d49d015a60501f4b1ade78af0f8dfa28cbbb332 100644 --- a/TD07/INF-TC1-td07.ipynb +++ b/TD07/INF-TC1-td07.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "095a75fb", + "id": "52685e4b", "metadata": {}, "source": [ "NAME:" @@ -154,7 +154,7 @@ " Jusqu'à M' = 0\n", "\n", " Constituer T avec les Ti utilisés\n", - " $Q(S,M) = somme de i=1 a i=n de T_i$ \n", + " Q(S,M) = somme de i=1 a i=n de T_i\n", " T est la valeur de sortie de l'algorithme\n", "Fin Monnaie_Gloutonne\n", "```\n", @@ -193,7 +193,7 @@ "deletable": false, "nbgrader": { "cell_type": "code", - "checksum": "70c7babeb5e85cc22c905a8f4bdf6271", + "checksum": "d997ace798b6608a2375d443b277dcbb", "grade": false, "grade_id": "cell-9e328bc8eab0c35d", "locked": false, @@ -205,7 +205,7 @@ }, "outputs": [], "source": [ - "def gloutonne(S: list, M: int) -> list:\n", + "def gloutonne(S: list, M: int) -> tuple:\n", " \"\"\"\n", " Algorithme glouton\n", "\n", @@ -214,7 +214,7 @@ " - M (int): La somme à atteindre\n", "\n", " Returns:\n", - " - list: (True, Q(S,M)) si succès OU (False, None) si échec.\n", + " - tuple: (True, Q(S,M)) si succès OU (False, None) si échec.\n", " \"\"\"\n", "# YOUR CODE HERE\n", "raise NotImplementedError()" @@ -239,21 +239,17 @@ }, "outputs": [], "source": [ - "Rep= gloutonne([1,7,23], 28)\n", - "print(Rep, ': ', sum(Rep),' pieces') if Rep else print('Echec') \n", - "# [5, 0, 1] : 6 pieces\n", + "Rep= gloutonne(sorted([1, 7, 23]), 28)\n", + "print(Rep[1], ': ', len(Rep[1]),' pièces') if Rep[0] else print('Echec') \n", + "# [5, 0, 1] : 3 pièces Un epièce de 23 et 5 pièces de 1\n", "\n", - "Rep= gloutonne([7,23], 5)\n", - "print(Rep, ': ', sum(Rep),' pieces') if Rep else print('Echec') \n", + "Rep= gloutonne(sorted([7, 23]), 5)\n", + "print(Rep[1], ': ', len(Rep[1]),' pièces') if Rep[0] else print('Echec') \n", "# Echec car M < la + petite pièce\n", "\n", - "Rep= gloutonne([7,23], 8)\n", - "print(Rep, ': ', sum(Rep),' pieces') if Rep else print('Echec') \n", - "# Echec car on ne peut jamais faire la monnaie avec cette S\n", - "\n", - "Rep= gloutonne([1,5,10,25], 63)\n", - "print(Rep, ': ', sum(Rep),' pieces') if Rep else print('Echec') \n", - "# [3, 0, 1, 2] : 6 pieces" + "Rep= gloutonne(sorted([7, 23]), 8)\n", + "print(Rep[1], ': ', len(Rep[1]),' pièces') if Rep[0] else print('Echec') \n", + "# Echec car on ne peut jamais faire la monnaie avec cette S" ] }, { @@ -272,7 +268,7 @@ "deletable": false, "nbgrader": { "cell_type": "code", - "checksum": "3ab8caefe1e647443f941efd8646aabf", + "checksum": "02915d838946ed8a8ee8345e74e2fd0c", "grade": false, "grade_id": "cell-f55f05cae03e7c51", "locked": false, @@ -294,7 +290,7 @@ " - D (int): La disponibilité des pièces\n", " \n", " Returns:\n", - " - list: (True, Q(S,M)) si succès OU (False, None) si échec.\n", + " - tuple: (True, Q(S,M)) si succès OU (False, None) si échec.\n", " \"\"\"\n", "# YOUR CODE HERE\n", "raise NotImplementedError()" @@ -311,23 +307,15 @@ { "cell_type": "code", "execution_count": null, - "id": "b5af3022-65fe-4877-99ce-23de3843a5ec", + "id": "a09ba678-bff6-4728-b301-6579f8a62e40", "metadata": { "tags": [] }, "outputs": [], "source": [ - "Rep= gloutonne_avec_D([1,7,23], 28,[10,10,10])\n", - "print(Rep, ': ', sum(Rep),' pieces') if Rep else print('Echec') \n", - "# [5, 0, 1] : 6 pieces\n", - "\n", - "Rep= gloutonne_avec_D([1,7,23], 28,[10,10,0])\n", - "print(Rep, ': ', sum(Rep),' pieces') if Rep else print('Echec') \n", - "# [0, 4, 0] : 4 pieces\n", - "\n", - "Rep= gloutonne_avec_D([1,5,10,25], 63, [1,0,3,2])\n", - "print(Rep, ': ', sum(Rep),' pieces') if Rep else print('Echec') \n", - "# Echec" + "Rep= gloutonne_avec_D(sorted([1,7,23]), 28, [10,10,0])\n", + "print(Rep[1], ': ', len(Rep[1]),' pièces') if Rep[0] else print('Echec')\n", + "# [0, 4, 0] : 3 pièces # On utilise 7 pièces " ] }, {