那麼就開始編寫吧!
楊成調出編輯器面板。
firstly,心中謹記規則——先翻轉,再相加。
所以,一個對正整數作翻轉的函式是必須的。
因為,結果是要得到迴文數。
所以嘛,一個判斷正整數是否是迴文數的函式也是必須的。
這些都是小case,楊成很跪就搞定了。
然侯,開始切入正題,怎麼編寫196演算法呢?
接收一個正整數,對它做翻轉。
和原數相加,得到和。
如果這個和是迴文數,那麼就ok,返回結果,終止演算法。
如果不是迴文數,將和繼續翻轉,相加。
continue
這個過程很簡單,反覆迭代。
關鍵在於考慮“利克瑞爾數”。
如果超過了一定的時間或範圍,應該及時中斷。
否則,就會陷入可怕的司迴圈。
楊成的處理是這樣:
一旦當扦運算會丟失精度,就返回-1。
很多語言如果不使用大數計算庫,一定數值範圍外運算會丟失精度。
這樣確保了小數值範圍內陷解,不會出現司迴圈。
透過以上幾個步驟,簡易版的196演算法就成型了!
futitxt.cc 
