語法書 / AA 競程語法書 下冊 / 第十六單元 / 根號複雜度:質數判斷

16.4 根號複雜度:質數判斷

本站題目〈質數判斷〉:Q \le 100 筆詢問,每筆給一個不超過 10^{11} 的正整數,判斷是不是質數。

上冊 4.5 的做法是拿 2 到 n-1 逐一試除——O(n)。這裡 n 到 10^{11},單筆詢問就要一百秒,連一筆都跑不完。

換形狀的鑰匙在 10.1 就鋪過:因數成對出現。36 = 2 \times 18 = 3 \times 12 = 4 \times 9 = 6 \times 6,每一對裡總有一個不超過 \sqrt{36} = 6——所以試到 \sqrt{n} 都沒找到因數,就能斷定 n 是質數。試除範圍從 n 砍到 \sqrt{n},10^{11} 變成約 3.2 \times 10^5。

登入後即可閱讀完整內容

語法書免費開放給所有 AACPOJ 帳號,註冊只要一分鐘。