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題解答 - pdf 電子檔,售價 199 元,

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

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

不受網路或廣告影響,

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



留言

這個網誌中的熱門文章

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

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

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