👉 CPE 一顆星選集列表(49題) 題目說明與解答
題目
輸入說明
輸出說明
解題技巧
- 取得字串中的每一個字元
- 字元轉數字
- 使用特殊判斷公式
- 因為題目測資會給這麼大的數字,無法使用數字型態儲存
- 298185292359669849565547163428536251646141545298393227596984875428967528488726855878466751597371655971893193997633655638488164238361645427446896169518348432
- 使用特殊公式,根據索引判斷是否為奇數或偶數:
- 奇數 (除以2餘1) 位數字和
- 偶數 (除以2餘0) 位數字和
- 利用兩者相減的數值是否為 11 的倍數
- 是:數字 N 是 11 的倍數
- 否:數字 N 不是 11 的倍數
解題過程
取得輸入
- 使用 String 型態讀取測試資料
- 若資料等於 "0" 字串,則結束計算
計算奇數位數字和、偶數位數字和
- 使用 for 迴圈,逐一讀取字串中的每一個字元,可使用 String 類別提供的 charAt(i) 方法
- 將字元轉數字,以方便計算,以下兩種方法則一種使用
- 將字元 '6' ( = ASCII 十進位 54) 減掉字元 '0' ( = ASCII 十進位 48) ,即可得到數字 6
- 呼叫 Character.getNumericValue(‘6’),可將字元 ’6’ 轉成數字 6
- 判斷目前的索引位置是奇數還是偶數,將索引除以 2 取餘數,
- 餘數 0 為偶數,將數字累加到偶數位數字和
- 餘數 1 為奇數,將數字累加到奇數位數字和
判斷奇數位數字和 — 偶數位數字和是否為 11 的倍數
- 是:數字 N 是 11 的倍數
- 否:數字 N 不是 11 的倍數
- 印出結果
留言
張貼留言