Aide pour un algorithme !

Signaler
Messages postés
11
Date d'inscription
lundi 8 décembre 2003
Statut
Membre
Dernière intervention
18 mars 2011
-
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
-
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.?

Merci beaucoup d'avance !

4 réponses

Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
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 ( " ;-) ") ...

Vilhjálms Sigurðsdóttir aka Frëyjá
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
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.

Tiens nous au courant!
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
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.

Enjoy, ++