Pagini recente » Cod sursa (job #937343) | Cod sursa (job #207757) | Cod sursa (job #2223149) | Cod sursa (job #198175) | Cod sursa (job #2753986)
#include <fstream>
#include <cmath>
using namespace std;
bool p[2000000];
int N = 0;
int NP = 0;
ifstream in("ciur.in");
ofstream out("ciur.out");
void elim(int a) {
int check = a*a;
while(check <= N) {
p[check-1] = 1;
check += a;
}
}
bool eprim(int a) {
int ct = sqrt(a);
int i = 2;
while (i < ct) {
if(a % i == 0) return false;
i++;
}
return true;
}
int cntp() {
int countp = 0;
for(int i = 0; i < N; i++) {
if(p[i] == 1) {
countp++;
}
}
return countp;
}
int ciur() {
int i = 1;
while(i < N) {
if(eprim(i+1)) elim(i+1);
i++;
}
return cntp();
}
int main()
{
in >> N;
p[0] = 1;
out << N - ciur();
return 0;
}