#include <iostream>
#include <string.h>
using namespace std;
bool isPrime(int n)
{
for (int i = 2; i * i <= n; i++)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
int countPrime_force(int n)
{
int count = 0;
for (int i = 2; i <= n; i++)
{
if (isPrime(i))
{
count++;
}
}
return count;
}
int countPrime_S(int n)
{
int count = 0;
int primeFlg[n];
memset(primeFlg, 0, sizeof(primeFlg));
for (int i = 2; i <= n; i++)
{
if (primeFlg[i] == 0)
{
count++;
for (int j = i; j * i <= n; j++)
{
primeFlg[i * j] = 1;
}
}
}
return count;
}
int main() {
int ret = countPrime_force(100);
cout << "force result is " << ret << endl;
ret = countPrime_S(100);
cout << "aishai result is " << ret << endl;
return 0;
}