Pagini recente » Cod sursa (job #2489165) | Cod sursa (job #2320106) | Cod sursa (job #2716461) | Diferente pentru utilizator/raresegay intre reviziile 12 si 13 | 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;
}