Cod sursa(job #583124)
Utilizator | Tofan Vasile varuvasi | Data | 18 aprilie 2011 01:18:21 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <stdio.h>
#include <string.h>
#include <vector>
#include <algorithm>
#define maxn 2000033
using namespace std;
int N, prime_count;
bool prim[maxn];
void ciur()
{
long long i=0,j=0;
prime_count=1;
for (i=3; i<=N; i+=2)
if (!prim[i])
{
for (j=i; j*j<=N; j+=i)
prim[j]=true;
++prime_count;
}
}
int main()
{
FILE *fin = fopen("ciur.in", "rt"), *fout = fopen("ciur.out", "wt");
fscanf(fin, "%d", &N);
ciur();
fprintf(fout, "%d", prime_count);
return 0;
}