猜數字遊戲

2021-07-09 18:54:26 字數 549 閱讀 7214

初次見到題目,覺得很簡單,可是仔細敲**時候卻發現根本無法處理如下情況

正確序列:1,2,3,4

猜測序列:1,1,1,1

我選擇用字串儲存正確的,然後如果對應上就把它變成字母,下一次就不會算他了,可是如果這樣子:

正確:1,2,3,4

錯誤:2,3,3,4

錯誤的3算了,正確卻沒有算,這樣顯然不符合題意,於是我就卡住了,想不通怎麼做,flag也想過,就是無法處理

又一次看了答案

答案先計算了一遍正確的,然後遍歷所有數字(1~9)     每個數字都分別在正確猜測陣列裡面出現了多少次,每次取最少的記在count 裡面,累加,最後猜錯位置的就是count減去猜對位置的數目

剛看到這個思路時候還不是很能理解,於是找了幾個嘗試,每次選擇count比較少的累加是保證不會出現列子一的情況,雖然有點浪費時間了,但是卻是個好辦法,有時候乙個方向走不動的時候,轉換乙個思路會很難,所有要經常積累,這也是現在經常看別人**的好處吶,就像這道題,單純從兩個序列入手已經走不通了,在所有可能出現的數字是有限個的情況下,可以換成這個想法,雖然不太好想。。。。

猜數字遊戲

問題描述 猜數字遊戲 隨機出乙個兩位數,然後讓你猜,直到猜對為止。猜對後可以提示選擇是否再玩一次。include include using namespace std int main srand unsigned int time null int num rand 90 10 隨機出乙個兩位數...

猜數字遊戲

author 徐權 data 2015728 function 猜數字遊戲 實用平台 vs2012及以上 如果要移植到其他平台scanf s和puts s 應改為scanf和puts即可 include include include include define n 5 定義陣列大小,從而決定猜的...

猜數字遊戲

think 水題吧。判斷次數 和 數字大小就可以了。5 1 猜數字遊戲 15分 猜數字遊戲是令遊戲機隨機產生乙個100以內的正整數,使用者輸入乙個數對其進行猜測,需要你編寫程式自動對其與隨機產生的被猜數進行比較,並提示大了 too big 還是小了 too small 相等表示猜到了。如果猜到,則結...