Cod sursa(job #1053225)
| Utilizator | Data | 12 decembrie 2013 15:49:53 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
#include <vector>
#include <bitset>
#include <cmath>
#define x first
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int N, sol=1;
bitset < 2000005 > prim;
int main()
{
f>>N;
for (int i=4; i<=N; i+=2)
prim[i]=1;
for (int i=3; i<=N; i+=2)
if (!prim[i])
{
++sol;
for (int j=i; j<=N; j+=i)
prim[j]=1;
}
g<<sol<<'\n';
return 0;
}
