Pagini recente » Cod sursa (job #1887881) | Cod sursa (job #1663102) | Cod sursa (job #3284426) | Cod sursa (job #343343) | Cod sursa (job #1435463)
#include <iostream>
#include <fstream>
#include <math.h>
#define INPUT_FILE "ciur.in"
#define OUTPUT_FILE "ciur.out"
#define MAX_SIZE 2000000
std::fstream in(INPUT_FILE, std::fstream::in);
std::fstream out(OUTPUT_FILE, std::fstream::out);
using namespace std;
int main(int argc, char const *argv[])
{
register int i, j;
int n;
int numberOf = 0;
bool marked[MAX_SIZE];
in >> n;
for (i = 1; i <= n; i++) {
marked[i] = false;
}
for (i = 2; i <= trunc(sqrt(n)); i++) {
if (!marked[i]) {
for (j = i*i; j <= n; j += i) {
// cout << "Marking " << j << " as true...\n";
marked[j] = true;
}
}
}
for (i = 2; i <= n; i++) {
if (marked[i] == false) {
numberOf++;
}
}
// cout << "For supplied value " << n << " the answer is " << numberOf << "\n";
out << numberOf;
out.close();
in.close();
return 0;
}