公然被篡改的騰訊版猜數字

2021-09-05 06:43:00 字數 1084 閱讀 9437

常見的猜數字遊戲,例如玩家a心中默記乙個1-100之間的乙個數字包括1和100.玩家b去猜測這個數字,規則如下:

1.當猜測的數字小於玩家a心中記的數字時,玩家a提示玩家b所猜測數字小了;

2.當猜測的數字大於玩家a心中記的數字時,玩家a提示玩家b所猜測數字大了;

3.當猜測的陣列等於玩家a心中記的數字時,玩家a提示玩家b所猜測數字正確,遊戲結束。

這個遊戲的最好結果自然是1此猜中,但是最壞結果仍然可以通過計算得到,使用二分法的猜測方式就可猜測到正確的數字。

1.當猜測的數字小於玩家a心中記的數字時,玩家a提示玩家b所猜測數字小了;

2.當猜測的數字大於玩家a心中記的數字時,玩家a提示玩家b所猜測數字大了,從此之後玩家a再也不給玩家b任何提示。

問題:玩家b存在猜中數字的可能,問至少需要多少次才能夠猜中數字。

通過了一些調查以後得到了一些這樣的答案:

1.你猜;

3.1次

4.8次

5.2次

我與朋友也做了一些互動的測試。

最好的情況猜了2次。他記的是我的學號17,我第一次猜他的學號9,他笑了;第二次就猜對了。

最壞的情況猜了19才。他記的是99,我第一次才12,之後每次都加11.

面對這樣的結果我只能鎖定乙個範圍,後來畫了乙個圖:

猜1算是一種無效的操作。

隨後可以從圖上的橙色去猜測,發現總能將數字鎖定在兩個橙色數字之間,然後在去猜測具體的數字。

猜測具體的數字:

猜測具體的數字的時候顯然最多有10個,但是在猜測具體數字的時候是不會有提示的,所以二分法也不能起作用,因此在求最壞情況只能遍歷這10個數字。因此猜測具體的數字需要10次。

現在考慮橙色數字的猜測次數。

這個數字考慮最優情況,就是在猜12的時候就提示數字大了,這樣就可以遍歷1-11所有的數字,因此一共要猜測12次。

如果繼續猜測12以後的橙色數字的時候自然次數就變大了,此時是10+(猜測橙色數字的個數)>=12。

最壞的情況下所猜測的數字是90-99之間這樣要猜測的數字個數就變成了9+(猜測的具體的數字個數)<=19。

被篡改的daemon

ecs伺服器的cpu總是被init用掉30 左右,而且可以看到整個系統的sy佔比相當之高。首先,init程序作為linux系統所有程序的父程序,負責系統的啟動過程。這個程序使用cpu資源,我們第乙個需要問自己的問題是,這個程序到底在做什麼。使用strace可以掛到正在執行的程序上,追蹤程序的系統呼叫...

瀏覽器主頁被篡改的問題

本文中 在主人不知道 未同意 不小心忽略的情況下改動了瀏覽器的主頁 起始頁,一律稱為篡改。這是重中之重!找到篡改你瀏覽器主頁的那個程式,然後將它解除安裝掉!不然就算你改了主頁也會被它改回去,一般來說以360和2345開頭的軟體都會去嘗試修改你的瀏覽器主頁。哪些軟體會去篡改你的瀏覽器主頁呢。我們電腦裡...

MD5防止資料被篡改的做法

一 基本思路 大致思路是把傳送的資料 用src表示 和一段我們自己才知道的字串 用key表示 通過乙個演算法變為一段簽名文字 用sign表示 在伺服器端接收到資料src和sign後,用相同的演算法計算出簽名文字 用sign1 表示。比較sign和sign1是否一致。如果一致表明資料 src 沒有被篡...