日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

google玻璃球

發布時間:2025/4/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 google玻璃球 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?? ?有一棟100層高的大樓,給你兩個完全相同的玻璃球。假設從某一層開始,丟下玻璃球會摔碎。那么怎么利用手中的兩個球,用什么最優策略知道這個臨界的層是第幾層??


解題思路:

? ? 假如只有一個球,那很顯然,只有一個辦法:從第一層開始投,如果沒碎再試第二層、第三層.....

? ? 現在有兩個球,我們應該利用第一個球縮小臨界樓層所在的樓層范圍,可能會想到第一個球先從50層開始投,如果碎了,再用最后一個球從第一層開始投,最多到49樓肯定可以找到臨界樓層,如果沒碎那就說明臨界樓層在50-100中,此時繼續嘗試75樓....

? ? 可惜,上面的方法并非是最好的。因為最壞情況的投擲次數分布不均勻。比如,如果50樓碎了,此時最壞情況下需要嘗試50次,如果50樓沒碎,而75層不管是否碎了,最壞情況也只需要嘗試25次,也就是說,50樓投擲結果不同,所需最壞情況下的次數也不同,這就是分布不均勻的意思,那是否有辦法讓其分布均勻,也就是說假如在f層投,不管碎還是不碎,繼續時最壞情況所需次數也是一樣的。這樣才能使最壞情況下所需投擲次數達到最小。

? ? 假設一開始從第k層投,如果壞了,那么第二個球可以在剩下的k-1層一定能用k-1次確定哪層壞,再加上第k層的那次,所以總共k次。如果第k層沒有壞,那么第一個球在第k層的基礎上再加k-1層(注意不是k層,原因見后面),所以第二次從2k-1層投下,在k,k+1,k+2,……,2k-2,2k-1中則有k-2層,所以用k-2次才能找出,再加上原來的那兩次,還是共用了k次(為了保持總共還是k次,所以上面只能加k-1層)

? ? 依次類推.....

? ? 在第2k-1層基礎上再加k-2層,在第3k-3層基礎上再加k-3層,……,依次類推,一定能加到在第某層的基礎上再加2層,最后再原來的基礎上面還能再加1層,到目前為止,設為第n-1層,如果第n-1層壞了,那么就是第n-1層,如果沒有壞,根據已知題說某一層能摔碎球,那么在第n-1層上面有且僅還有一層就是剛摔壞的層(此時不需要實際投,而是直接推理得出),這時用的次數還是k次(最不理想的結果),所以k次能測最多n層,由上面的解說,可知n-1=k+(k+1)+(k+2)+(k+3)+……+2+1=k(k+1)/2,得n=k(k+1)/2+1,由上面可知n=100(層),k次最多能推測k(k+1)/2+1(層),所以k(k+1)/2+1≥100,得k(k+1)≥198,且k的最小整數為14,所以最多14次就能找出題目中的那層。 ?
補充:由上得知,第一次在14層投,第二次在第27層投,則依次為14 27 39 50 60 69 77 84 90 95 99。還能得出14次最多能測得到106樓,只不過題目中給了100樓,如果是107樓,那么就需要15次了

總結

以上是生活随笔為你收集整理的google玻璃球的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。