#11315: 剛剛路過看看 發現逾時問題很嚴重 於是幫大家複習下國中數學


who_am_I (kruztw)

學校 : 國立臺灣師範大學
編號 : 54056
來源 : [36.224.144.147]
最後登入時間 :
2023-04-22 22:46:31
a007. 判斷質數 | From: [61.223.170.84] | 發表日期 : 2016-08-30 22:55

剛剛看到有人建質數表,但搜尋範圍太大了(有沒有TLE我不知,但可以再稍微精簡)

 

請大家想想,每一個正整數是否皆可分解成   a X b   (a、b皆為正數)

若我們現在令 a >= b

則當 b 慢慢變大時, a 就會慢慢變小

但 a>=b  ,所以 b 的最大值  即 根號某數  

ex:

某數 = 12   則 b = 根號12

某數 = 60   則 b = 根號60

 

其中,每個合數皆可分解成質數相乘

 

所以我們要判別某數是否為質數,只要判別小於等於 根號某數 的質數是否為其因數即可

 

解題步驟

1.建質數表

2.判斷小於等於根號某數的質因數是否為其因數

 
ZeroJudge Forum