There is a king, who has got 1000 bottles of Rum with him, of which One bottle contains poison. And he has any number of slaves. He has got 1 hour to decide which bottle contains Poison, and any slave who even takes a sip of the poison, dies within an hour. How many least number of slaves does the king need to use, to make out which bottle contains poison.
Solution:
The answer is still 10. (2 power 10 = 1024) List numbers until 1000 in binary format vertically. Each 1 represents a slave and with the combination of slaves you can find the poisoned rum.
8 = 2 power 3. So three slaves
Eg: 1 2 3 4 5 6 7 8 Slave 1: 0 0 0 1 1 1 1 0 Slave 2: 0 1 1 0 0 1 1 0 Slave 3: 1 0 1 0 1 0 1 0
from the above combination you can find the rum bottle based on which slaves died
Complexity:
time - O(1)Links and credits:
space - O(log n)
http://www.careercup.com/question?id=6345092675665920
No comments:
Post a Comment