秘密差 (簡化版) 題解


這題是〈秘密差〉的簡化版:\(X\) 最多 18 位,用 long long 就讀得進來,不用把它當字串處理。

做法就是〈秘密差〉題解的前兩個子題,請看〈秘密差〉的題解:

  • 子題 1:\(X\) 恰好四位數,用 % 和 / 直接拆出每一位。
  • 子題 2:位數不固定,用 while 從個位開始一位一位拆,奇數位、偶數位分開加總——這就是本題的完整解法。

唯一要改的地方:子題 2 的程式用 int x; 讀入,這題的 \(X\) 可能有 18 位,超過 int 的範圍,要改成 long long x;。用 int 交上去,位數比較多的測資會答錯。

〈秘密差〉題解後面「把 \(X\) 當字串讀」的部分,是給原題最多 1000 位數用的,這題用不到。