Cod sursa(job #1772297)
| Utilizator | Data | 6 octombrie 2016 17:22:40 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
FILE *f = fopen ("ciur.in", "r");
FILE *g = fopen ("ciur.out", "w");
bool marked[2000002];
int main()
{
long long i, j, N, nr_prime = 0;
fscanf (f, "%lld", &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;
}
}
}
/*
for (i = 2; i <= N; i++)
if( marked[i] == 2) nr_prime++;
*/
fprintf (g, "%lld", nr_prime);
return 0;
}
