[問題] Cryptarithmetic Puzzle

看板C_and_CPP作者 (薯)時間15年前 (2010/03/15 00:50), 編輯推噓4(4010)
留言14則, 5人參與, 最新討論串1/1
這次遇到一個難題..... 那就是 Cryptarithmetic Puzzle 這是一個以英文字母代替數(digit) 的遊戲(?) 以下是範例: send + more = money 請問以上英文字母各代表什麼數字?? 答案是 m = 1 y = 2 e = 5 n = 6 d = 7 r = 8 s = 9 send + more = money 9567 + 1085 = 10652 另外一個例子 logic + logic = prolog 90452 + 90452 = 180904 ------------------------------------------------------------------ 說了那麼多 我的問題是: 請問到底要怎麼解這個問題本身啊?? 雖然我有到這個網站去下載Source Code http://bach.istc.kobe-u.ac.jp/llp/crypt.html 可是他寫的錯綜複雜 而且 #define 來 #define 去的..... 這一秒記起來這個變數是裝什麼 下一秒又忘了 整個邏輯看不出來..... 請問這個問題本身要怎麼樣去解?? 雖然我有想過可以用暴力法去將所有字母從0~9排一次去test 不對就換 但我想應該有更好的辦法吧?? 到底這個問題本身要如何去解?? 或是可以給我這個遊戲的中文名稱 好讓我去找答案@.@ 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.58.39

03/15 01:25, , 1F
其實10階層並不會很多阿...XD
03/15 01:25, 1F

03/15 01:27, , 2F
還是不要隨隨便便去碰!的東西比較好XDDDDD
03/15 01:27, 2F

03/15 01:59, , 3F
不過大致看了一下源碼, 好像每位數是用遞迴作的, 雖然
03/15 01:59, 3F

03/15 02:01, , 4F
沒有很暴力...
03/15 02:01, 4F

03/15 02:50, , 5F
10! = 3628800 挺快的啊....
03/15 02:50, 5F

03/15 08:36, , 7F
我連高中生都不如 |||Orz......
03/15 08:36, 7F
※ 編輯: liu2007 來自: 118.232.58.39 (03/15 08:37)

03/15 09:16, , 8F
C名題精選百則有類似的題目,可以參考解法。
03/15 09:16, 8F
感謝 bleed1979 大大提供網站 不過...... 我找不到解題的方法@.@ 我了解題目的意思 只是我想知道是否有比暴力法更好的解法 ※ 編輯: liu2007 來自: 118.232.58.39 (03/15 09:21)

03/15 09:33, , 9F
你可以改用遞迴讓他更有彈性, 但應該還是要窮舉出來
03/15 09:33, 9F

03/15 09:35, , 10F
建表紀錄某個位數有沒有被使用, 沒使用就往下遞迴呼叫
03/15 09:35, 10F

03/15 09:36, , 11F
到了所有字母都對應到一個位數, 就開始測試, 把成功的
03/15 09:36, 11F

03/15 09:36, , 12F
結果存在某處
03/15 09:36, 12F

03/15 11:08, , 13F
果然還要全部舉出來Orz.....
03/15 11:08, 13F

03/15 14:03, , 14F
你本人如果遇到這個問題怎麼解就怎麼解...
03/15 14:03, 14F
文章代碼(AID): #1BdHFIOz (C_and_CPP)