Re: [問題] 窮舉法 未知數位置不定

作者: MOONY135 (談無慾)   2017-05-20 23:03:06
※ 引述《ptt0720 (濕濕)》之銘言:
: 開發平台(Platform): (Ex: Win10, Linux, ...)
: macOS
: 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: 問題(Question):
: http://i.imgur.com/Lu5Pqib.jpg
: 餵入的資料(Input):
: 程式碼(Code):(請善用置底文網頁, 記得排版)
: 補充說明(Supplement):
: 看起來要窮舉沒錯
: 但是因為未知數位置不定
: 所以我打算在字串內讀ascii code
: 不是數字就要判斷
: 但是我要如何組合完輸入的那三行等式
: 而且未知數也有可能是好幾個或一個
: 我跑未知數的迴圈也是個問題
: 有沒有大大能提供一些不同的思維呢
Z的位數一定大於等於 X OR Y
所以第一個FOR迴圈只要去掃 Z裡面有幾個非數字
(不考慮第一個位數是參數的狀況 這邊要另外寫 看完下面算法你再去想想看好了)
所以假設 Z = 1AB2C
A & B & C的 range都會是0~9
只要考慮 for迴圈是000~999 然後依序填入就好
for迴圈的range會是 n=參數 10^n-1
然後比對x 跟 y哪個比較小
然後 z%min(x,y)==0之後 得到的z 再去跟max(x,y)做參數的
substring即可
作者: pttworld (批踢踢世界)   2017-05-20 23:08:00
x, y也有非數字。文中的比對是什麼意思。如產生x or y也是迴圈,在迴圈未定義幾層的情形,跑迴圈如何寫。範例只是簡單案例。而這種方法可以僅描述暴力法排0到9。二組以上xyz,非數字數量不同,程式寫法。另外是乘會比除快。乘的做法只要跑x和y, 除的做法要跑z加x或y之一。x+y長度相當於z。

Links booklink

Contact Us: admin [ a t ] ucptt.com