32. Divide, But Not Quite Conquer! (CPE10419, UVA10190) - CPE一顆星解答與說明

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

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

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

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

不受網路或廣告影響,

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


題目


  • 判斷數字 N 是否可以持續被數字 M 整除,直到 N = 1 
    • N = 125 可以持續被 5 整除,過程為 125/5, 25/5, 5/5 (N=1)
    • N = 30 不可以持續被 3 整除,過程 30/3, 10/3 (無法整除)


輸入說明



  • 每一列有
  • 數字 N
  • 數字 M


輸出說明


  • 判斷 N 可否被 M 整除,直到 N= 1 
    • 可:輸出運算過程,N 除以 M 的商數
    • 不可:印出 Boring! 字串



解題技巧

  • 除法

解題過程

取得輸入

  • 判斷數字 m 是否為 0
    • 若為 0:直接印出結果
      • 題目規定的字串,因為 n 除以 1,商數都會等於 n,無法收斂至 1
    • 若不為 0 :開始計算


除法

  • 宣告串列,用來儲存計算過程中的運算結果
  • 使用 while 迴圈實做連續的除法
    • 當數字 n 大於 1 且 n 可以被 m 整除時,持續做除法, 直到 n = 1 或是 n 無法被 m 整除為止
    • 例如:例如 n = 125, m = 25, 125 > 1 且 125 可以被 25 整除
      • 將 n (125) 加入至串列中
      • 更新 n (125) 為 n 除以 m 取商數(5 =125/25)


判斷 n 是否為 1 

  • n 等於 1:如果 n 能收斂到數字 1,將除法的運算過程印出
    • 使用 foreach 將串列中的數字印出
    • 記得將最後的 1 印出,因為當 n 更新為 n/m, 當 n/m = 1 時,就無法進入while 迴圈,無法將 1 加入串列中
  • n 不等於 1:印出題目規定的字串


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

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

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

不受網路或廣告影響,

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

留言

這個網誌中的熱門文章

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

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

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