In a certain paper factory, large sheets of paper are being made every day. Before sending the sheets for shipment, they have to be packed in a small case of length 1 foot and width 1 foot. This is done automatically by a robot, which is programmed to fold a large sheet of paper as many times as needed to fit it into the case. The following is the robot's algorithm:
For this problem, you can assume that the thickness of the paper is irrelevant. You are then given the following task by the company manager: Write a function that determines the number of folds needed to pack a certain sheet of paper, given its initial dimensions X and Y. You are ensured that X and Y are integers given in feet, and that 1 <= X <= 4000 and 1 <= Y <= 4000.
As an example, let the initial dimensions be (X,Y) = (4,5). The algorithm will produce the following sequence of paper sizes: (4,5) -> (4,2.5) -> (2,2.5) -> (2,1.25) -> (1,1.25) -> (1,0.625) -> (0.5,0.625). We stop because both sizes are now less than 1. This takes a total of 6 folds.