看板 java 關於我們 聯絡資訊
題目 有 1 2 3 4 5個數字 猜4個數字(可重複) 例如 謎底 2245 玩家猜 2151 =>1A(位置對數字對)1B(位置錯但是數字對) 推論直到達到答案,以最快最有效率猜測方式是?(排除運氣) 有人有一套猜測邏輯或公式嗎 需在最少次數內猜對(5~8次) 麻煩幫幫忙 想很久 歸納不出來 謝謝大大 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.29.117
LaPass:ptt的遊樂場裡也有XD 另,數字重複的話A跟B的數目怎麼判斷? 07/03 22:54
s3748679:取交集 -> 去除重複元素 -> 反查位置 -> 統計ab 這樣呢? 07/03 23:38
s3748679:喔喔... 是猜測邏輯..... 拍謝 07/03 23:39
gwokae:前陣子才用bash重寫了,不過只有寫兩個字串重複與位置 07/04 00:40
gwokae:原來是要做猜的AI,我錯了不要理我 Orz... 07/04 00:46
s3748679:剛剛嘗試寫了個演算法=ˇ= http://ppt.cc/ezm- 07/04 00:56
LaPass:我看不懂樓上那種寫法.... 請問怎麼看懂? 關鍵字是....? 07/04 00:57
s3748679:PS: 只有比對的部分^^" , AI的部分只有想到篩選法.. 07/04 00:58
if4:先用排列組合製作一個文字檔(猜文字)這是題庫,猜的時候用消去 07/04 00:59
if4:法去掉不正確的答案,這樣猜,電腦比較有效率... 07/04 01:01
s3748679:回L大... 這是憑直覺下去寫的,不專業的.. orz... 07/04 01:01
s3748679:步驟1、2、3都分成 "如何算" 和 "代入後的過程與結果" 07/04 01:06
s3748679:另外#字號是指集合中元素個數 ex: #{1,2,5} = 3 07/04 01:08
s3748679:大概就這樣吧~ (搔頭^^" 07/04 01:10
s3748679:那個.. 能請教下虛擬碼要怎寫會比較好 (小聲 囧" 07/04 01:19
LaPass:不好意思,我也沒學過虛擬碼 XD 07/04 07:58
s3748679:..... 難怪會看不懂,max改成min: http://ppt.cc/JkhC 07/04 09:06
PsMonkey:這個在 Javaworld@tw 已經在 n 年前結案了 XD 07/04 09:07
qrtt1:嗯。補樓上的 link http://bit.ly/KSl41q 07/04 09:09
LaPass:不偷看解答自己寫一個出來會比較好玩 =w= 07/04 09:49
LaPass:雖然寫一陣子後都知道,最快速的解法是google去找方法.... 07/04 09:51
s3748679:呼~ 比對的演算法實作出來了: http://ideone.com/qhlmx 07/04 13:48