34. 2 the 9s (CPE10458, UVA10922) - CPE一顆星解答與說明

   👉  CPE 一顆星選集列表(49題) 題目說明與解答

CPE一顆星49題解答 - pdf 電子檔,售價 199 元,

購買電子檔可將筆記與完整解答帶著走,

坐車、上課時皆可隨時複習,

不受網路或廣告影響,

若有需要請來信購買 greens2314@gmail.com


題目


  • 判斷數字 N 是否為 9 的倍數,判斷 9-degree 是多少
    • 例如:數字189
      • 1 + 8 + 9 = 18, 18 為 9 的倍數 , 9-degree = 1
      • 1 + 8 = 9, 9 為 9 的倍數 , 9-degree = 2
      • 9,代表只剩個位數,不需再繼續做每一位數字的累加


輸入說明

  • 測試資料有多筆
    • 當數字 N = 0 ,則結束計算
    • 數字包含 1000 位數
      • 使用字串儲存




輸出說明

  • 根據每個數字 N ,印出:
    • 數字 N
    • 是否為 9 的倍數
    • 9-degree 是多少

解題技巧

  • 將數字中每一個數字的加總
  • 整數轉字串
  • 字元轉數字


解題過程

取得輸入

  • 判斷資料 n 是否等於 0 字串
    • 結束計算
  • 印出測試資料 n 
    • 因後面會變動資料 n,所以先印出來


使用 while 迴圈來實作無限迴圈,模擬不斷計算的過程

  • 加總每一位數字
    • 宣告 sum 變數,紀錄加總
    • 使用 for 迴圈讀取數字中每一個字元,例如數字 189
    • 將字元轉數字,有兩種方法
      1. 將字元 ‘8' ( = ASCII 十進位 56) 減掉字元 '0' ( = ASCII 十進位 48) ,即可得到數字 8
      2. 呼叫 Character.getNumericValue(‘8’),可將字元 ’8’ 轉成數字 8
    • 將數字累加到加總中,例如:1 + 8 + 9

  • 判斷加總是否可被 9 整除
    • 可被 9 整除:將 degree 計算次數累加
    • 不可被 9 整除:結束 while 迴圈的計算

  • 判斷加總是否等於 9
    • 等於 9:
      • 若加總等於 9 則結束計算,代表只剩個位數,不需再繼續做每一位數字的累加
    • 不等於 9 :
      • 將數字轉成文字,並更新給 n,準備執行下一次的 while 迴圈
      • 例如:數字189,個別加總為 1 + 8 + 9 = 18,將 18 轉成字串並更新給 n 變數

印出

  • 根據計算次數 degree 變數來判斷輸出格式
  • 判斷 degree 是否大於 0 
    • 是:印出特定字串與 degree
    • 否:印出特定字串 


CPE一顆星49題解答 - pdf 電子檔,售價 199 元,

購買電子檔可將筆記與完整解答帶著走,

坐車、上課時皆可隨時複習,

不受網路或廣告影響,

若有需要請來信購買 greens2314@gmail.com

留言

這個網誌中的熱門文章

CPE 一顆星選集題目說明與解答 - Java 筆記與心得分享

Visual Studio 自動排版格式化程式碼

1. Vito's family (CPE10406, UVA10041) - CPE一顆星解答與說明