有一次,探險隊根據一份古老的文件,在一座上千年的古墓中找到了一個金屬製的寶藏箱,大家相信裡面裝滿了奇珍異寶,但是這個箱子製作得非常緊實嚴密,一點縫隙都沒有,完全無法開。圖/River
有一次,探險隊根據一份古老的文件,在一座上千年的古墓中找到了一個金屬製的寶藏箱,大家相信裡面裝滿了奇珍異寶,但是這個箱子製作得非常緊實嚴密,一點縫隙都沒有,完全無法開。圖/River
文/維尼老師
有一次,探險隊根據一份古老的文件,在一座上千年的古墓中找到了一個金屬製的寶藏箱,大家相信裡面裝滿了奇珍異寶,但是這個箱子製作得非常緊實嚴密,一點縫隙都沒有,完全無法開。
這個箱子上面有8個圓形的按鍵,根據文件紀載,這8個按鈕中有4個是有效的按鍵,另外4個是用來混淆視聽的,如果在7次之內同時按下2個有效按鍵,箱子便會自動打開,超過7次,這個箱子便永遠打不開了。
探險隊看著箱子,實在傷透腦筋,不知如何是好!如果你也是探險隊一員,能否設計一個程序,保證在7次內按下2個有效的按鍵來打開箱子呢?
解答:
既然超過7次就永遠打不開,更不能憑運氣亂按了。那如果要有規律地嘗試,該怎麼辦呢?
假設把這8個按鍵編號1至8號,最簡單有規律的方法就是依序按下(1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(1,8)。問題是,如果1是無效按鍵,那按完所有包含1的組合就用完7次機會,再也沒希望了,所以這樣的程序完全不可行。
接著再試把1到8號按鍵分成4組:A(1,2)B(3,4)C(5,6)D(7,8),然後依序按下,用去4次,如果箱子都沒打開,至少保證一件事,每一組剛好有一個有效按鍵。
這時我們拿A、B兩組來組合,按下(1,3)(1,4)(2,3)(2,4),必定有一個組合是正確的。可惜的是,如果前3次(1,3)(1,4)(2,3)都打不開,連同前面4次已經用完7次機會,就算明知(2,4)一定可打開也沒用了,所以這個方法還是差了一步。
最後,乾脆分成A(1,2,3)B(4,5,6)C(7,8)3組。先試A組的組合(1,2)(1,3)(2,3),用去3次,如果打不開,表示A組最多只有一個有效按鍵;相同方式試B組,也用去3次,如果也打不開,表示B組同樣最多只有一個有效按鍵。如此,C組2個按鍵都是有效的,剛好第7次按下這2個按鍵就打開箱子了。