You have an infinite amount of timers, each is an hour long (they do not have dials on telling you how long they've been going - they just beep when the time is up). You can set it to double speed at any time, but you cannot set it back to normal speed (eg if you set it to double speed at the start it will last 30 minutes.

Using each timer only once, is it possible to time exactly 25 minutes?

If it is, what is the smallest number of timers you need to do this, and the quickest time you can acheive it?

It is impossible to time exactly 5/12 hours (25 minutes) in a finite amount of time.

Since there is no reason to start a timer at a random time, there are exactly two conditions when a timer is turned on. One is at the very beginning and the other is when another timer beeps.

ASSUME that there is some possible method to time exactly 5/12 hours in a finite amount of time. Then there must be two timers A and B such that the amount of time from A's beep to B's beep is 5/12 hours.

Timer A was turned on when timer A1 beeped. Timer A1 was turned on when A2 beeped. Timer A2 was turned on when A3 beeped. Etc... Since every timer has to run at least 30 minutes, then there are a finite number of timer beeps between A and the start, which means the amount of time from the start to A's beep is of the form a/(2^k) hours.

The same argument shows the time from the start to timer B's beep is also of the form b/(2^k) hours.

The amount of time from A's beep to B's beep is then (b/(2^k) - a/(2^k)) hours. BUT the amount of time was assumed to be exactly 5/12 hours and 5/12 CANNOT be expressed in the form b/(2^k) - a/(2^k). Therefore it is impossible to time exactly 5/12 hours in a finite amount of time.