發表文章

目前顯示的是 2021的文章

35. GCD (CPE11076, UVA11417) - CPE一顆星解答與說明

圖片
    👉   CPE 一顆星選集列表(49題) 題目說明與解答 CPE一顆星49題解答  - pdf 電子檔 ,售價 199 元, 購買電子檔可將筆記與 完整解答 帶著走, 坐車、上課時皆可隨時複習, 不受網路或廣告影響, 若有需要請來信購買 greens2314@gmail.com 題目 求數字 1 ~  N 中, 任兩數的最大公因數加總 最大公因數 GCD = greatest common divisor 輸入說明 測試資料有多筆 每一行都有一個數字 N 遇到數字 0 則結束處理 輸出說明 印出總和 解題技巧 按照題目給的程式碼打 宣告方法與實作方法 求兩數最大公因數 輾轉相除法,與 31 題邏輯一樣 解題過程 取得輸入 判斷數字 n 是否為 0 若為 0 則結束計算 打出題目給的程式碼 宣告變數 g,用來儲存加總結果 宣告兩層 for 迴圈 印出加總結果 g 實作 gcd 方法 最大公因數 指能夠整除多個整數的最大正整數 例如 8 和 12 的最大公因數為 4 ,4 可以同時整除  8  與 12 輾轉相除法:大  ÷  小,一直到其中一個餘數為 0 CPE一顆星49題解答  - pdf 電子檔 ,售價 199 元, 購買電子檔可將筆記與 完整解答 帶著走, 坐車、上課時皆可隨時複習, 不受網路或廣告影響, 若有需要請來信購買 greens2314@gmail.com

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 將字元轉數字,有兩種方法 將字元 ‘8' ( = ASCII 十進位 56) 減掉字元 '0' ( = ASCII 十進位 48) ,即可得到數字 8 呼叫 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 否:印出

33. Simply Emirp (CPE10428, UVA10235) - CPE一顆星解答與說明

圖片
    👉   CPE 一顆星選集列表(49題) 題目說明與解答 CPE一顆星49題解答  - pdf 電子檔 ,售價 199 元, 購買電子檔可將筆記與 完整解答 帶著走, 坐車、上課時皆可隨時複習, 不受網路或廣告影響, 若有需要請來信購買 greens2314@gmail.com 題目 判斷數字 N 是否為質數、非質數或反質數 質數(Prime):因數只有 2個 (1 跟 n) 例如 17 的因數 1,17 非質數(Non-prime):有 3 個以上的因數 例如 8 的因數 1,2,4,8 反質數(Emirp): 將數字 n 由左而右讀,或由右而左讀,數字都是質數 17 跟 71 都是質數 輸入說明 測試資料有多筆 每一行都有一個數字 N 輸出說明 根據每個數字 N ,印出結果 解題技巧 質數判斷 反轉字串 數字轉字串 字串轉數字 解題過程 取得輸入 將數字 n 反轉 將數字 n 轉字串 Integer.toString(456) 使用 for 迴圈, 由大到小(由右而左) 讀取字串 n 的每一個字元,呼叫 charAt(i) 將字元累加到字串中,可得到反轉的字串 將累加的字串轉數字 Integer.parseInt("654") 判斷數字 n 是否為質數 使用布林值紀錄 質數(Prime):因數只有 2個 (1 跟 n),例如 17 的因數 1,17 非質數(Non-prime):有 3 個以上的因數,例如 8 的因數 1,2,4,8 使用 for 迴圈, 產生 2 ~ 小於 n 的數字 逐一檢查是否能整除數字 n 若有數字能整除 n,表示 n 不是質數,呼叫 break 結束迴圈 判斷反轉後的數字 n,是否為質數 使用布林值紀錄 邏輯與上一步驟一樣,可字行考慮是否宣告成方法 使用 for 迴圈, 產生 2 ~ 小於反轉n 的數字 逐一檢查是否能整除反轉的數字 n 若有數字能整除反轉 n,表示反轉 n 不是質數,呼叫 break 結束迴圈 印出結果 印出數字 n 根據 n 是否為質數 與 反轉 n 是否為質數 的布林值來判斷使用的輸出格式 若 n 為質數 、 反轉 n 為質數 ,要再判斷 n 是否不等於反轉 n 原始數字 11 ,反轉後的數字一樣是 11 ,這樣只有 1 個數字,所以不是反質數 CPE一顆星49題解答  -

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

31. All You Need Is Love! (CPE10421, UVA10193) - CPE一顆星解答與說明

圖片
    👉   CPE 一顆星選集列表(49題) 題目說明與解答 CPE一顆星49題解答  - pdf 電子檔 ,售價 199 元, 購買電子檔可將筆記與 完整解答 帶著走, 坐車、上課時皆可隨時複習, 不受網路或廣告影響, 若有需要請來信購買 greens2314@gmail.com 題目 判斷兩個字串,是否由 數字 L 組成 例如 11011(27) 與 11000(24) 皆可由 11(3) 組成      二進制   =>   十進制 S1 : 11011   =      27 S2 : 11000   =      24    L :         11   =        3 輸入說明 第一行:測試資料筆數 每兩行為一筆測試資料 輸出說明 輸出測試資料的編號 根據是否有找到共同的數字 L 印出特定文字 解題技巧 2 進制轉 10 進制 求兩數的最大公因數 輾轉相除法 解題過程 取得輸入 二進制轉十進制 有兩種做法 呼叫 Integer.parseInt(特定進制字串, 特定進制);  Integer.parseInt("100", 2); // 會得到 4 程式碼 求兩數的最大公因數 指能夠整除多個整數的最大正整數 例如 8 和 12 的最大公因數為 4  4 可以同時整除  8  與 12 輾轉相除法 大  ÷  小 ,一直到其中一個餘數為 0 印出結果 印出測試資料編號 判斷最大公因數是否大於 1  公因數不可以是 1  題目有規定字串 L (二進制)的長度要大於 1               2 進制  =>  10 進制           1 (長度1) =>  1         10 (長度2) =>  2         11 (長度2) =>  3 CPE一顆星49題解答  - pdf 電子檔 ,售價 199 元, 購買電子檔可將筆記與 完整解答 帶著走, 坐車、上課時皆可隨時複習, 不受網路或廣告影響, 若有需要請來信購買 greens2314@gmail.com

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