diff options
Diffstat (limited to 'semestre 2/informatique/td/2- exemples/boucles_complexes.c')
| -rw-r--r-- | semestre 2/informatique/td/2- exemples/boucles_complexes.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/semestre 2/informatique/td/2- exemples/boucles_complexes.c b/semestre 2/informatique/td/2- exemples/boucles_complexes.c new file mode 100644 index 0000000..6c388a4 --- /dev/null +++ b/semestre 2/informatique/td/2- exemples/boucles_complexes.c @@ -0,0 +1,28 @@ +#include <stdio.h> +#include <assert.h> + +void afficheBilletsPieces(int m){ + int r = m; + int billets = r/5; + r = r%5; + int pieces2 = r/2; + r = r%2; + int pieces1 = r; + printf("%d€ = %d * 5€ + %d * 2€ + %d * 1€", m, billets, pieces2, pieces1); +} + +void afficheBilletsPiecesMultiple(int m){ + for (int billets = m/5; billets >= 0; billets--){ + int av = m - billets*5; + for (int p2 = av/2; p2 >= 0; p2--){ + int av2 = av - p2*2; + assert(billets*5+p2*2+av2 == m); + printf("%d€ = %d*5€ + %d*2€ + %d*1€\n", m, billets, p2, av2); + } + } +} + +int main(){ + afficheBilletsPiecesMultiple(23); + return 0; +} |
