Cod sursa(job #1772278)
| Utilizator | Data | 6 octombrie 2016 17:07:23 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
FILE *f = fopen ("ciur.in", "r");
FILE *g = fopen ("ciur.out", "w");
int main()
{
int N, i, j, nr_prime = 0;
bool marked[1000000];
fscanf (f, "%d", &N);
for (i = 2; i <= N; ++i){
if (marked[i] == 0){
marked[i] = 1;
nr_prime ++ ;
for (j = i*i; j <= N; j+=i){
marked[j] = 1;
}
}
}
fprintf (g, "%d", nr_prime);
return 0;
}
