A king has 1000 bottles of wine of same type.His rival king decides to kill him and send his secret killer to poison one of this wine bottle.The killer poison one of his bottle but was caught by the guards.The King came to know about this and he decides to check which bottle is poisonous. The king is very clever so he decides to take 10 prisoners from his jail to check which bottle is poisonous or not. Can you explain how it is possible?

The solution is simple since 2^10=1024>1000 is the answer for this puzzle.Confused let me explain
number the bottles 1 to 1000, and write the number in binary format.

bottle 1    = 0000000001
bottle 250  = 0011111010
bottle 1000 = 1111101000

now take your prisoner’s 1 through 10 and let prisoner 1 take a sip from every bottle that has a 1 in its least significant bit. let prisoner 10 take a sip from every bottle with a 1 in its most significant bit. etc.

prisoner    10 9 8 7 6 5 4 3 2 1
bottle 15    0 0 0 0 0 0 1 1 1 1

for instance, bottle #15 would be sipped by 4, 3,2 and 1. that way if bottle #15 was the poisoned one, only those prisoners would die.