A particular random number generator returns positive integer n with probability 1/(2^n). (ie '1' with probability 1/2, '2' with probability 1/4, '3' with probability 1/8, etc.)

Using this random number generator, write an algorithm which chooses a random integer from 1 to 37 with equal probability.

(In reply to

Implementing Thalamus's 47-bits with Brian Smith's bit-stream. by Charlie)

There is a bias in the algorithm. The number generated can be between 37^9 and 2^47. The numbers in that range do not properly reflect an even distribution.