http://poj.org/problem?id=2689
自闭了两道数学题搞一上午,我好菜啊。
2019.04.18:因为正整数x的质因子不会超过(\sqrt x),所以(\sqrt x)以内的质数可以筛出([1, x])的所有质数。
for (ll i = 2; i * i <= U; ++i){
if (!s[i]){
for (ll j = 2 * i; j * j <= U; j += i) s[j] = 1;//筛[2, sqrt(U)]
for (ll j = max(2LL, (L + i - 1) / i) * i; j <= U; j += i) b[j - L] = 1;
//利用筛[2, sqrt(U)]的结果筛[L, U]
}
}
if (L == 1) b[0] = 1;
要学一下模运算