Pagini recente » Borderou de evaluare (job #2135475) | Borderou de evaluare (job #2545030) | Borderou de evaluare (job #2404851) | Borderou de evaluare (job #2667361) | Cod sursa (job #2942829)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int MAX_VALUE = 2000000;
int frequency[MAX_VALUE + 1];
void primeLessEqualNumber(int n, int &primeCounter) {
for (int divisor = 2; divisor * divisor <= n; ++divisor) {
if (frequency[divisor] == 0) {
for (int number = 2; number * divisor <= n; ++number) {
if (frequency[divisor * number] == 0) {
frequency[divisor * number] = 1;
--primeCounter;
}
}
}
}
}
int main() {
int n;
fin >> n;
int primeCounter = n;
primeLessEqualNumber(n, primeCounter);
fout << primeCounter;
return 0;
}