最简单的质数筛

优化前

1
2
3
4
5
6
7
8
9
10
11
bool is_prime(long long n) {
if (n == 1) return false;
bool status = true;
for (long long i=2; i * i <= n; i++) {
if (n % i == 0) {
status = false;
break;
}
}
return status;
}

优化后

1
2
3
4
5
6
7
8
9
10
11
12
13
bool is_prime(long long n) {
if (n == 1) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
bool status = true;
for (long long i=2; i * i <= n; i++) {
if (n % i == 0) {
status = false;
break;
}一杯
}
return status;
}

偶数除了2都不是质数,优化过后将近快了一倍