22. Square Numbers (CPE10480, UVA11461) - CPE一顆星解答與說明

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

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

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

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

不受網路或廣告影響,

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


題目


  • 計算 a ~ b 之間,有幾個完全平方數
  • 完全平方數定義:數字開根號的結果為整數
    • 例如 
    • 1,開根號 = 1
    • 4 ,開根號 = 2
    • 81 ,開根號 = 9

輸入說明

  • 每一行包含
    • 數字 a
    • 數字 b
    • a 大於 b
    • a 跟 b 介於 1 ~ 十萬之間
    • 當 a b 為 0 時,結束計算




輸出說明


輸入a~b之間有幾個完全平方數



解題技巧

  • 預先計算介於1~10萬的完全平方數
    • 將結果存入陣列,方便後續查表
  • 運用數字與索引之間的關係


解題過程

取得輸入

  • 取得數字 a 與 b
  • 判斷 a b 是否為 0 ,若為 0 則結束計算


計算 1~ 10萬之間的完全平方數

  • 題目說 a、 b 兩數會介於1 ~ 100000 之間
  • 建立布林型別的平方數陣列,長度為100001
    • 為什麼長度為 100001
      • 後續會使用 a ~ b 的數字做為索引,並使用此數字讀取平方數陣列的值
      • 若要訪問索引位置  100000,則陣列長度需為 100001
  • 使用 for 迴圈,產生索引: 1 ~ 索引*索引 小於 100001
    • 將陣列 [索引*索引] 位置的值,設定為 true,表示此數為完全平方數

使用 for 迴圈,產生 a ~ b (包含自己) 的數字

  • 使用數字做為索引,查詢平方數陣列
  • 判斷特定索引位置的值是否為 true
    • 若為true,則此數為完全平方數,完全平方數個數 + 1
  • 印出完全平方數個數


解答/答案/註解/程式碼/JAVA

解答最外層請自行 import 相關套件與新增 main class

public class main {
    //解答
}

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

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

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

不受網路或廣告影響,

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

留言

這個網誌中的熱門文章

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

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

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