TADM2E 4.32
From Algorithm Wiki
(1) Do a binary search within the range of <math>1-n</math>. You guess the right number within O(log n) questions.
(2) If you don't know n start with a random number <math>2^i</math> and if it is larger than the number you are looking for do a binary search within <math>1-2^i</math> as in (1). If <math>2^i</math> is less then guess <math>2^{i+1}</math> and repeat.