Puzzle - Minimum Prisoners

A king has 1,000 bottles of very expensive wines. An internal spy poisoned one bottle. But somehow this information reaches the king, nobody know which bottle is poisoned. The poison is so strong and it takes 24 hours to have an effect. The king was supposed to use those bottles for a grand party which is going to be conducted after 24 hours. How will he find out which bottle is poisoned? The king has 900 prisoners at his disposal to find out which bottle is poisoned, with minimum sacrifices.

Solution:


Number the bottles from 1 to 1000, write the corresponding binary for 1 to 1000, here we need only 10 bits as 1000 is the max.

3 = 0000000011
10 = 0000001010

Arrange the prisoners such that each one represents each bit. Make them drink the wine according to the bitwise representation of the number on the wine bottle. By seeing the combination of those who are dead we can figure out which bottle was poisoned.

If we had 1000 prisoners each prisoner drink from each bottle, that would be the best solution with only one dead :)