30. Hartals (CPE10517, UVA10050) - CPE一顆星解答與說明

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

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

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

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

不受網路或廣告影響,

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


題目



  • hartal 是罷工的意思
  • 在 N 天中,損失的工作天數有幾天(就是罷工的天數)

輸入說明


  • 第一行為測試資料的筆數
  • 每一組測試資料
    • 第一行:天數 N (介於7~3650)
    • 第二行:政黨數量 P
      • 各個政黨的罷工週期



輸出說明


  • 根據每筆測試資料,輸出罷工的天數


解題技巧

  • 注意題目中天數與星期的關係
  • 使用 Set 集合


解題過程

取得輸入


計算罷工日

  • 使用 for 迴圈產生:第1天 ~ 題目指定的天數
  • 將天數除以 7 取餘數,注意餘數與星期的關係
    • 判斷餘數是否不等於 6(星期五) 與 0(星期六),題目有規定星期五與六不能為罷工日
    • 判斷天數是否可被罷工週期整除(餘數=0)
    • 符合上述條件則為合法的罷工日


儲存罷工日

  • 使用 Set 集合,因可能出現多個政黨在同一天罷工,造成重複計算,所以使用 Set 集合
    • 不允許擺放相同的資料
    • 元素具有唯一性的集合
    • HashSet implements Set (無順序)
    • TreeSet  implements Set (有順序)
      • 宣告 TreeSet<Integer> set = new TreeSet<Integer>(); 用來儲存不重複的罷工天
      • 新增資料:呼叫 add() 方法

印出罷工總天數

  • 取得 set 資料數量:呼叫 size() 方法



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

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

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

不受網路或廣告影響,

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

留言

這個網誌中的熱門文章

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

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

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