一位商人有9枚銀元,其中有1枚略輕的是假銀元,你能用天平(無砝碼)將假銀元找出來嗎?寫出解決這一問題的一種算法.
解法 1:算法步驟如下:第一步:任取 2枚銀元分別放在天平的兩邊,如果天平左右不平衡,那么輕的那一邊就是假銀元;如果天平平衡,那么進行第二步;第二步:取下右邊的銀元,放在一邊,然后把剩下的 7枚銀元依次放在右邊進行稱量,直到天平不平衡,偏輕的那一邊就是假銀元.解法 2:算法步驟如下:第一步:把 9枚銀元平均分成3組,每組3枚;第二步:先將其中兩組放在天平的兩邊,如果天平不平衡,那么假銀元就在輕的那一組;如果天平左右平衡,則假銀元就在未稱量的那一組里; 第三步:取出含假銀元的那一組,從中任取 2枚銀元放在左右天平兩邊進行稱量,如果天平不平衡,則假銀元在輕的那一邊;若天平平衡,則未稱的那一枚就是假銀元.這樣利用上述算法,只需兩次稱量就可以將假銀元找出來,顯然要比第一種算法簡捷、有效.
|
最容易想到的解決該問題的辦法是:把9枚銀元按順序排成一列,先稱前2枚,若不平衡,則可找出假銀元;若平衡,則2枚銀元都是真的,再依次與剩下的銀元作稱量比較,就能找出假銀元. 對于這種非數(shù)值性總是的算法設計問題,應當首先建立過程模型,根據(jù)過程設計步驟,完成算法,另外,這種算法最少要稱量1次,最多則要稱量7次,仔細分析,我們還可以有如下更好的方法. |
湖北省互聯(lián)網(wǎng)違法和不良信息舉報平臺 | 網(wǎng)上有害信息舉報專區(qū) | 電信詐騙舉報專區(qū) | 涉歷史虛無主義有害信息舉報專區(qū) | 涉企侵權舉報專區(qū)
違法和不良信息舉報電話:027-86699610 舉報郵箱:58377363@163.com