老鼠试药
問題:現在有100瓶藥,只有1瓶是有毒的,老鼠試完藥后,需要3天才能才能知道藥是否有毒,而現在需要3天知道100瓶中哪1瓶有毒,請問最少需要多少只老鼠。
方案:
因為2^7=128>=100,最少需要7只 將1~100轉換為2進制數,一共7位。 假設對于某數的2進制為:C1 C2 C3 C4 C5 C6 C7 老鼠mi將ci為1的藥都試了,若mi在3天后死了,說明毒藥為2進制的第ci位為1的十進制對應的藥。 如果死了C1 C2 C3,表明藥的二進制的第1,2,3位都為1?
總結
- 上一篇: 10.15 iptables filte
- 下一篇: java类中serialversionu