xxs线性筛求素数
线性筛求素数
int prime[MAXN]; // 保存素数
bool is_not_prime[MAXN] = {1, 1}; // 0和1都不是素数
// 筛选 n 以内的所有素数
void xxs(int n) {
for (int i = 2; i <= n; ++i) {
if (!is_not_prime[i]) { // 如果i是素数
prime[++prime[0]] = i;
}
for (int j = 1; j <= prime[0] && i * prime[j] <= n; ++j) {
is_not_prime[i*prime[j]] = 1;
// 如果i中包含了该质因子,则停止
if (i % prime[j] == 0) break;
}
}
}
--END--

浙公网安备 33010602011771号
我的博客: 𝟷𝙻𝚒𝚞
本文链接: https://www.cnblogs.com/1Liu/p/xxs.html
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!