This is a maths problems I came across a very long time ago and at the time I thought it one of the best I ever heard. Strangely enough I have never come across it again.
You can get an approximate answer with very basic probability theory, but to get the exact answer requires a better knowledge of maths than I have. Perhaps some of you out there might be able to work out the "perfect" answer. But just using basic probability theory you get a very interesting result, that is just a percent or two away from the exact answer, but nevertheless an answer that most would at first find incredible.
You have a simple computer program that sequentially generates 1000 perfectly random numbers in the range minus to plus infinity. After generating a random number it displays it on the screen and then asks this question: "Of the 1000 numbers being generated in this series, is this number the highest, Yes or No?".
If you answer No, it will print the number it displayed on the output listing so that you have a record of what the number was for whatever calculations you might want to do. It will then generate and display another random number and again ask the same question. It continues doing this until you answer Yes or it has generated and printed 1000 random numbers.
However, if you answer Yes, it will print the number on the output listing and print your name beside it. Then, without stopping, it will generate and print the remaining random numbers until the series of 1000 has been finished.
The question is: Assuming you are a perfect logician and will try and maximise your chances of identifying the highest number, what is your chance of doing so (i.e. that your name will be printed beside the highest number)?
There are no tricks to this question. Don't get hung up about the practicality of printing or assimilating what could be numbers with billions of digits. The reason the range is minus to plus infinity is so that there is no information from the number itself when viewed in isolation (otherwise a number generated that was close to a finite upper boundary would be a good candidate to say Yes to). Also, the computer program is not trying to beat you. It just produces perfectly random numbers and performs the simple tasks indicated.
Remember you can only say Yes against the current number. You cannot indicate that a previous to the current number was the highest.
If you have heard the problem before and know the answer, perhaps wait a bit so that others can give it a try.