shaoling
Messages postés11Date d'inscriptionlundi 8 décembre 2003StatutMembreDernière intervention18 mars 2011
-
26 juil. 2005 à 03:10
malik7934
Messages postés1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 2009
-
26 juil. 2005 à 09:02
Bonjour, j'ai une énigme à résoudre, et pour cela je compte bien m'aider du php ! Voici l'énigme :
Pour la somme de 5 euros, on a acheté 100 fruits différents aux prix suivants :
pastèques ..... 50 centimes la pièce
pommes ........ 10 centimes la pièce
prunes ........ 1 centime la pièce
Combien de fruits de chaque sorte ont été achetés ?
Il faut donc trouver le nombre de pasteques, pommes et prunes, en sachant que le nombre total de fruits est égal à 100!
j'ai trouvé 2 équations :
0.50x + 0.10y + 0.01z = 5
x + y + z = 100où : x nb de pasteques, y nb de pommes et z = nb de prunes!
j'aimerais donc codé un petit algo en php me permettant de trouver le nombres de chacun des fruits achetés.. mais je n'arrive pas a trouver l'algo, j'ai mis tout ce qu'il fallais dans les variable mais je coince au niveau de la boucle a faire...
est ce que quelqu'un pourrait m'expliquer l'algorithme a faire (en français,sans me le coder en php) et j'essaierai par la suite de me le retranscrire en php.?
vilhjalms
Messages postés591Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention16 juillet 20092 26 juil. 2005 à 04:27
Saell og blesud
Moi je vous
poserai une question : " où avez vous trouvez ces tarifs ??? " ou
encore " une femme a 25?, va à la grande surface, elle achète dix
salades à 0.15 ? l'unité et quatorze laitues à 0.17 ? l'unité :
Question : Est-ce bien raisonnable ? "
PS : Je ne sais d'où je sors ces tarifs également ( " ;-) ") ...
malik7934
Messages postés1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 200917 26 juil. 2005 à 08:39
Ici, c'est pas 3 eq a 3 inconnues, mais 2 eq. Ca ressemble plus a un probleme de prog lineaire... tu maximises ta 1e eq en fixant comme conditions x+y+z <= 100 ET x+y+z >= 100.
Pour autant que je me souvienne de mes cours de recherche operationnelle, c'est comme ca qu'on faisait.
malik7934
Messages postés1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 200917 26 juil. 2005 à 09:02
Ben en fait, en se basant sur un PL, on trouve en fixant z:
x = (9z-500)/40 et y=(4500-49z)/40, reste a trouver z.
Pour cela, on entre une nouvelle condition que tu as oublie: x, y et z ne peuvent pas etre negatifs. Ils sont plus grand ou egal a zero:
x >= 0 -> z>= 500/9 => z>= 56
y >= 0 -> z<= 4500/49 => z<=91
Et comme x et y sont des entiers (ils ne peuvent pas valoir 1,23435 par exple), on a :9z -500 est un multiple de 40, en d'autres termes (9z-500)mod40 0 -> z 60
de meme, 4500-49z est un multiple de 40 -> z = 60 est un resultat valable.
Donc une reponse possible est :
x= 1, y=39, z=60 ->
(0.50 * 1) + (0.10 * 39) + (0.01 * 60) = 5
1 + 39 + 60 = 100
Il y a peut etre d'autres solutions, a toi de tester au niveau des modulo (if($truc%40==0)) pour voir les autres possibilites.