Cod sursa(job #1308453)
Utilizator | Data | 4 ianuarie 2015 02:49:29 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <iostream>
#include <fstream>
using namespace std;
#define nmax 2000005
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
bool v[nmax];
int i, n, j, nr;
int main(){
fin >> n;
for(i=4; i<=n; i+=2) v[i] = true;
for(i=3; i<=n; i+=2)
if(v[i]==0)
for(j=i*2; j<=n; j+=i) v[j]=true;
for(i=2; i<=n; i++)
if (!v[i]) nr++;
fout << nr;
return 0;
}