Topic : « Cette énigme niveau SEGPA affame l'élite de ce fofo »

Avatar de Factom Factom
Énoncé :
Un planteur de bananes se trouve confronté à un problème bien difficile. Comme moyen de transport il ne dispose que d'un vieil éléphant qui consomme une banane au kilomètre et n'accepte de porter que 1000 bananes au plus sur son dos. Le marché le plus proche se trouve à 1000km de la plantation. Sa production s'élève à 3000 bananes.

Combien de bananes, au MAXIMUM, ce planteur pourra-t-il mettre en vente sur le marché ?

:-p
Avatar de Blondi Blondi
Zéro.
1 aller charger à 1000 qui consomme 1000.
Un retour à vide donc -1000 = 1000 bananes de compensation en arrivant.
1000 dernière à emmener consommer totalement sur les 1000km = 0 à l’arrivée.
Avatar de IntegristeNRV IntegristeNRV
Citation de Factom
Citation de IntegristeNRV
Ma réponse :
500 mais il ne peut plus revenir avec l'éléphant. Il faudra le revendre :noel:
On peut faire légèrement mieux
En effet on peut pas revenir avec

Je me demande comment on peut formaliser ça mathématiquement, mais je suis sûr que ce n'est pas trivial. Ça dépend du nombre de voyages et de où tu t'arrêtes à chaque fois
Avatar de Blondi Blondi
Voici une ébauche de solution "a priori" (sans utiliser d'astuce):
Pour transporter N bananes sur une distance D, l'éléphant a besoin de parcourir:
* 5 fois la distance D (2 A/R + 1 aller) si 3000 >= N > 2000
* 3 fois la distance D si 2000 >= N > 1000
* 1 fois D si N <= 1000.

L'éléphant consomme alors X.D bananes (X=5, 3 ou 1), et il reste à l'arrivée N-X.D bananes

Ceci étant dit, avec N = 3000 bananes, on se trouve forcément dans l'un de ces 3 cas, quelle que soit la distance parcourue.
La conséquence en est que, si on parcourt une distance D1, puis une distance D2, mais que le nombre de bananes reste dans la même fourchette (définie au-dessus), alors, tout se passe comme si on avait parcouru en une seule fois la distance D1 + D2. On peut donc parcourir les 1000km de trajets avec au plus 2 arrêts.
Il est clair qu'avec aucun arrêt, on ne peut pas parcourir les 1000 km.
On peut chercher dans le cas où on n'a qu'un seul arrêt:
Soit D1 la distance parcourue avant l'arrêt, et N1 le nombre de bananes disponibles au moment de l'arrêt:
N1 = 3000 - 5.D1
On sait déjà que N1 > 2000 n'est pas possible.
Si N1 > 1000, il faudra parcourir 3 fois la distance restante, soit 1000-D1, d'où, à l'arrivée:
NZ = 3000 - 5.D1 - 3(1000-D1) = -2.D1. Il n'y a pas assez de bananes.
Si N1 <= 1000, on doit parcourir 1 fois la distance restante, soit:
NZ = 3000 - 5.D1 - (1000-D1) = 2000 - 4.D1
On prend la valeur minimale de D1 qui respecte la condition N1 = 3000 - 5.D1 <= 1000, soit D1 = 400, et il reste 400 bananes.

Si maintenant, on envisage 2 arrêts, on appelle D1 et D2 les distances parcourues, et N1 et N2 le nombre de bananes.
Pour les mêmes raisons que précédemment, on doit avoir:
N1 <= 2000 et N2 <= 1000, soit:
N1 = 3000 - 5.D1
N2 = N1 - 3.D2 = 3000 - 5.D1 - 3.D2
NZ = N2 - (1000 - D1 - D2) = 3000 - 5.D1 - 3.D2 - (1000 - D1 - D2) = 2000 - 4.D1 - 2.D2.
On retrouve alors l'optimum pour D1 = 200 et D2 = 334, soit 532 bananes à l'arrivée.


Source :

_ http://forums.futura-scie[...]33-lelephant-bananes.html
Apercite http://forums.futura-sciences.com/mathematiques-superieur/13633-lelephant-bananes.html

_ https://www.google.com/se[...]+banane+au+kilom%C3%A8tre
Apercite https://www.google.com/search?q=e+trouve+confront%C3%A9+%C3%A0+un+probl%C3%A8me+bien+difficile.+Comme+moyen+de+transport+il+ne+dispose+que+d%27un+vieil+%C3%A9l%C3%A9phant+qui+consomme+une+banane+au+kilom%C3%A8tre

#2443401
Avatar de Cladris Cladris
Citation de Blondi
Voici une ébauche de solution "a priori" (sans utiliser d'astuce):
Pour transporter N bananes sur une distance D, l'éléphant a besoin de parcourir:
* 5 fois la distance D (2 A/R + 1 aller) si 3000 >= N > 2000
* 3 fois la distance D si 2000 >= N > 1000
* 1 fois D si N <= 1000.
L'éléphant consomme alors X.D bananes (X=5, 3 ou 1), et il reste à l'arrivée N-X.D bananes
Ceci étant dit, avec N = 3000 bananes, on se trouve forcément dans l'un de ces 3 cas, quelle que soit la distance parcourue.
La conséquence en est que, si on parcourt une distance D1, puis une distance D2, mais que le nombre de bananes reste dans la même fourchette (définie au-dessus), alors, tout se passe comme si on avait parcouru en une seule fois la distance D1 + D2. On peut donc parcourir les 1000km de trajets avec au plus 2 arrêts.
Il est clair qu'avec aucun arrêt, on ne peut pas parcourir les 1000 km.
On peut chercher dans le cas où on n'a qu'un seul arrêt:
Soit D1 la distance parcourue avant l'arrêt, et N1 le nombre de bananes disponibles au moment de l'arrêt:
N1 = 3000 - 5.D1
On sait déjà que N1 > 2000 n'est pas possible.
Si N1 > 1000, il faudra parcourir 3 fois la distance restante, soit 1000-D1, d'où, à l'arrivée:
NZ = 3000 - 5.D1 - 3(1000-D1) = -2.D1. Il n'y a pas assez de bananes.
Si N1 <= 1000, on doit parcourir 1 fois la distance restante, soit:
NZ = 3000 - 5.D1 - (1000-D1) = 2000 - 4.D1
On prend la valeur minimale de D1 qui respecte la condition N1 = 3000 - 5.D1 <= 1000, soit D1 = 400, et il reste 400 bananes. C'est une solution déjà mentionnée par ixi.
Si maintenant, on envisage 2 arrêts, on appelle D1 et D2 les distances parcourues, et N1 et N2 le nombre de bananes.
Pour les mêmes raisons que précédemment, on doit avoir:
N1 <= 2000 et N2 <= 1000, soit:
N1 = 3000 - 5.D1
N2 = N1 - 3.D2 = 3000 - 5.D1 - 3.D2
NZ = N2 - (1000 - D1 - D2) = 3000 - 5.D1 - 3.D2 - (1000 - D1 - D2) = 2000 - 4.D1 - 2.D2.
On retrouve alors l'optimum pour D1 = 200 et D2 = 334, soit 532 bananes à l'arrivée.

https://image.noelshack.com/minis/2016/49/1481410269-untitle.png
Avatar de Factom Factom
Citation de IntegristeNRV
Citation de Factom
Citation de IntegristeNRV
Ma réponse :
500 mais il ne peut plus revenir avec l'éléphant. Il faudra le revendre :noel:
On peut faire légèrement mieux
En effet on peut pas revenir avec
Je me demande comment on peut formaliser ça mathématiquement, mais je suis sûr que ce n'est pas trivial. Ça dépend du nombre de voyages et de où tu t'arrêtes à chaque fois

Ce que j'avais répondu à ça, en effet ça doit être bien chiant et difficile à prouver rigoureusement (et pas sur que ce je propose marche) :
Pour prouver qu'on peut pas faire mieux par contre ... Sûrement en raisonnant sur le fait qu'il faut pas que +2000 bananes dépassent 200 mètres (on suppose que c'est le cas et on modifie légèrement la solution pour trouver mieux et que cette condition soit respectée), et ensuite à +2000 bananes la stratégie optimal est celle de faire 1 mètre par 1 mètre (la par induction j'imagine)
Avatar de KoalaGangs KoalaGangs
3000

400 = 200
-800

400 = 200
-800

400 = 200 + 400
-400

1000-600=400

il pourra en vendre 400 flemme de détailler le calcule il des aller-retour en déplacement le stock petit a petit :noel:
Avatar de Pseudo supprimé Pseudo supprimé
1000, il démarre avec 1000 bananes et à chaque kilometre un pote en voiture viens lui en passer une pour compenser celle boufée par l'éléphant, puis il utilise les 1000 bananes restantes pour rentrer du marché :oui:
Avatar de IntegristeNRV IntegristeNRV
Pour ton dernier point, vu que le nombre de bananes est limité, on peut le faire avec un algorithme.

Sinon je la connaissais avec un mec qui doit aller à 5 jours de marche dans le désert et revenir ; il consomme 1 litre d'eau par jour et il peut porter 2 ou 3 litres max (je ne sais plus exactement). Quel est le minimum de jours que ça prendra à faire ?
Avatar de KoalaGangs KoalaGangs
Citation de Frontinus
1000, il démarre avec 1000 bananes et à chaque kilometre un pote en voiture viens lui en passer une pour compenser celle boufée par l'éléphant, puis il utilise les 1000 bananes restantes pour rentrer du marché :oui:

Ouais mais la la consommation d’essence reviens plus chère que la vente de banane :noel:
Liste des sujets