這個數據範圍不是一遍歐拉篩預處理一下就完事了嘛


for (int i = 2; i &<= n; i++) // 歐拉篩 O(n) { if (!vis[i]) prime[cnt++] = i; for (int j = 0; j &< cnt; j++) { if (i * prime[j] &> n) break;
vis[i * prime[j]] = true;
if (i % prime[j] == 0) break;
}
}


瀉藥

歐拉篩飛過去

當然閹割的洲閣篩它不香麼?


篩素數就可以了。埃氏篩已經夠快了,加上質因數可以加速

求l~r素數個數就是2~r個數-2~l-1,這樣速度很快也很好寫

最簡單但時間不保證就是寫個循環判斷

還有作業自己做


推薦閱讀:
相關文章