” A person has 3000 bananas and a camel. The person wants to transport maximum number of bananas to a destination which is 1000 miles away, using only the camel as a mode of transportation. The camel cannot carry more than 1000 bananas at a time and eats a banana every mile it travels. What is the maximum number of bananas that can be transferred to the destination using only camel (no other mode of transportation is allowed). “
Since it is not possible to transport the bananas in a single run,the idea could be to use some checkpoints between the starting point and the destination where we will leave the bananas.
Note:Camel will not move until he has bananas.
As we have 3000 bananas we have to take 3 forward and two backwards trips to transfer all the bananas to a checkpoint(say,A).Now we walk with 1000 bananas and walk towards A.Also Camel can’t move more than 500 miles forward and then backward due to its load capacity.There can be more than 1 checkpoints.
For detailed solution visit:- https://puzzle.dse.nl/math/bananas_us.html#
Implementation in Python
total=int(input('Enter no. of bananas at starting')) distance=int(input('Enter distance you want to cover')) load_capacity=int(input('Enter max load capacity of your camel')) lose=0 start=total for i in range(distance): while start>0: start=start-load_capacity #Here if condition is checking that camel doesn't move back if there is only one banana left. if start==1: lose=lose-1#Lose is decreased because if camel try to get remaining one banana he will lose one extra banana for covering that two miles. #Here we are increasing lose because for moving backward and forward by one mile two bananas will be lose lose=lose+2 #Here lose is decreased as in last trip camel will not go back. lose=lose-1 start=total-lose if start==0:#Condition to check whether it is possible to take a single banana or not. break print(start)
Here it doesn’t matter if we increase no. of checkpoints in between because the total cost of bananas per mile at that section will remain same.
Explanation of the code
In the code above,
There would be one or more than one checkpoint.We are breaking each section of checkpoint in the sections of length one.
Here the transportation is done in 1 mile steps.As in the example discussed above,camel walk with 1000 bananas for 1 mile left 998 bananas there and consume 2.In last round camel will consume only one banana.
At each subsequent mile we are subtracting the no. of bananas lost in travelling each mile from total no. of bananas.To calculate the total bananas left after 1 mile we use another variable start.