剛剛想一下12顆小球找次品(重或輕)1.將12顆小球分三堆(每堆四個)一定會有一堆重量不一樣2.將step1.那堆四顆小球分兩堆(每堆兩個)秤重2.1已知小球重量3.將step2.過輕或過重的那堆(兩顆小球)分別秤重!4.將過輕或過重小球選出!即為解答!不知道這樣子對不對想了不到十分鐘~~~~
將12顆球分成ABCD四堆(每堆3顆)任選其中兩堆先秤第一次,假設取A/B若A=B,可知C不等於D,則不一樣的那一顆在C/D中拿C或D來跟A或B(A=B)秤,若C=A或B,則D有異 ; 若C不等於A或B,則C有異可知C或D哪一堆有異且可知較輕或較重(因為A/B可為基準重量)(以上已秤了兩次,可以知道異品是比較重或輕)從比較輕或重(C或D)的那一堆任選兩顆秤第三次應可解出(同理,若A不等B,則C=D一樣意思)
Binary search....第一次 6 6 | -> 捨棄6顆, 剩6顆有效的第二次 3 3 | -> 捨棄3顆, 剩3顆有效的第三次 1 1 | 1(旁邊等) -> if 兩邊等值, 結果是旁邊等的那顆, else 左 or 右大概是降吧.....orz阿如果用那個什麼正確解答版, 在電腦跑出來的速度一定比這種慢...像那些多樣的條件判斷式... 效率上真的會比較慢一些...