主体代码:
bool isPrime(int n) {
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
return true;
}//是否素数
void SunPirme_bf1(int n) {
int count = 0;
for (int i = 2; i < n; i++) {
count += isPrime(i) ? 1 : 0;
}
cout << count << endl;
}//统计素数-暴力算法1
void SunPirme_bf2(int n) {
int count = 0;
for (int i = 2; i < n; i++) {
int temp = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
temp = 0;
}
}
count += temp;
}
cout << count << endl;
}//统计素数-暴力算法2
void Eratosthenes(int n) {
bool isprime[100]={0};
int count = 0;
for (int i = 2; i < n; i++) {
if (!isprime[i]) {
count++;
for (int j = i * i; j < n; j += i) {
isprime[j] = 1;
}
}
}
cout << count << endl;
}//统计素数-埃筛法
# 运行代码:
int main() {
SunPirme_bf1(100);
SunPirme_bf2(100);
Eratosthenes(100);
system("pause");
return 0;
}