-1
$\begingroup$
  1. the person will think a number between 1-100. The Questionnaire can ask n number of condition, i.e the number is even or odd, the number is perfect square or prime number, sum of squares etc.

1 Answers 1

3

It is certainly possible to find a number between 1 and 100 by asking 100 questions, namely:

  1. Is the number one?

  2. Is the number two?

    etc., etc., etc.

It is possible to do it with 7 questions by binary search. Writing the number in base 2, ask:

  1. Is the units bit one?

  2. Is the twos bit one?

  3. Is the fours bit one?

    etc., etc., etc.

I don't know anything about Java code, but that's for a different website, anyway.

  • 2
    Indeed, even 7 questions of the form "Is the number greater than $x$?" will do. (Hint: start with $x=50$.) The binary expansion technique does, however, have the advantage that you can decide all the questions you will ask in advance.2012-03-20