稱球問題【面試題】

下面說的這個問題可能大家都看到過,它是這麼描述的:

  現在有n(n>=2)個球,n個球外觀一模一樣,但是重量有區別,其中有且僅有一個球的重量比其它n-1個球要重,現在有一個天平,天平是完好無損的,問最少需要稱多少次才能確定哪個球的重量較重?

  初一看這個問題,感覺有點複雜,不知道從何入手。一般情況下,解決類似的問題需要簡化問題,然後從中發現規律,從而解決整個問題。可以先假設有2個球,那麼稱一次就可以知道哪個球重;當有3個球時,也可以通過一次稱量就可以確定哪個球重,因爲假如放在天平上的球一樣重,那麼剩下的那個球必定是重球,否則天平重的那端就是重球;當有4個球時,一次稱重時無法確定的。。即當球的個數大於3時,是無通過一次稱重確定的。下面來分析大於3的情況:

  4個球時,可以稱2次確定,分爲2組(2,2),先取2個球,天平一端一個,重的那端爲重球;若天平平衡,稱剩下的一組即可;

  5個球時,也可以2次確定,分爲2組(2,3),先取2個球,天平一端一個,重的那端爲重球;若天平平衡,剩下的3個球一次稱重就可以確定;

  6個球時,也可以兩次確定,分爲2組(3,3),天平每端放3個球,然後再對重的那端的3個球進行稱重;

  7個球時,也可以兩次確定,分爲3組(2,2,3),先在天平每端放2個球,然後對重的那端再稱重;若天平平衡,剩下的3個球一次稱重;

  8個球時,也可以2次確定,分爲(3,3,2),道理同上;

  9個球時,也可以2次確定,分爲(3,3,3),道理同上;

  。。。。

  顯然,當有27個球時,可以3次確定,分爲(9,9,9),先確定重的那個球在哪9個球裏,然後再確定重的那個球在哪3個球裏,然後再需1次稱量即可。

  從上面的分析可以,發現要想最少次數的稱量,必須把球分組,並且組數不大於3,而且一次稱重最多能從3個球中確定哪個球中,2次稱重最多可以從9個球中確定哪個球重,3次稱重最多可以從27個球中確定哪個球重。。m次稱重最多可以從3^m個球中確定哪個球重。

  因此,當有n個球時,顯然最少需要n^(1/3)次才能確定,這裏需要特別說明一下,當n^(1/3)爲整數時,最少需要n^(1/3)次;否則最少需要[n^(1/3)]+1次。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章