1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| #include <stdlib.h>
#include <stdio.h>
const int cp1 = 2, cp2=5, cp3 = 10, cp4 = 20, cp5 = 50;
void afficher(int p1, int p2, int p3, int p4,int p5);
void frec(int p1, int p2, int p3, int p4, int p5);
int total = 0;
int main()
{
/*Ecrivez un programme qui affiche toutes les manières possibles dobtenir un Euro avec des
pièces de 2, 5, 10, 20 et 50 centimes. Dire combien de possibilités ont été ainsi trouvées. Les
résultats seront affichés comme suit :*/
frec(0,0,0,0,0);
system("pause");
}
void afficher(int p1, int p2, int p3, int p4,int p5)
{
fflush(stdout);
total++;
printf("%d : %d x %d %d x %d %d x %d %d x %d %d x %d \n", total, p1, cp1, p2, cp2, p3, cp3, p4, cp4, p5, cp5);
//system("pause");
}
void frec(int p1, int p2, int p3, int p4, int p5)
{
//afficher(p1, p2, p3, p4, p5);
if ((p1*cp1+p2*cp2+p3*cp3+p4*cp4+p5*cp5) > 100)
{
//system("pause");
return;
}
else if ((p1*cp1+p2*cp2+p3*cp3+p4*cp4+p5*cp5) == 100)
{
afficher(p1, p2, p3, p4, p5);
}
else
{
frec(p1+1, p2, p3, p4, p5);
frec(p1, p2+1, p3, p4, p5);
frec(p1, p2, p3+1, p4, p5);
frec(p1, p2, p3, p4+1, p5);
frec(p1, p2, p3, p4, p5+1);
}
} |
Partager