22. Square Numbers (CPE10480, UVA11461) - CPE一顆星解答與說明
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 {
//解答
}
留言
張貼留言