剛剛看到有人建質數表,但搜尋範圍太大了(有沒有TLE我不知,但可以再稍微精簡)
請大家想想,每一個正整數是否皆可分解成 a X b (a、b皆為正數)
若我們現在令 a >= b
則當 b 慢慢變大時, a 就會慢慢變小
但 a>=b ,所以 b 的最大值 即 根號某數
ex:
某數 = 12 則 b = 根號12
某數 = 60 則 b = 根號60
其中,每個合數皆可分解成質數相乘
所以我們要判別某數是否為質數,只要判別小於等於 根號某數 的質數是否為其因數即可
解題步驟
1.建質數表
2.判斷小於等於根號某數的質因數是否為其因數