Cod sursa(job #1436114)
Utilizator | Data | 15 mai 2015 09:24:54 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
using namespace std;
#define nMax 2000005
bool ciur[nMax];
int sieve(int n){
int i,j,c;
for(i=4;i<=n;i=i+2){
ciur[i] = 1;
}
c = 0;
for(i=3;i<=n;i=i+2){
if(ciur[i] == 0){
c++;
for(j=i*i;j<=n;j=j+i+i){
ciur[j] = 1;
}
}
}
return (c+1);
}
int main()
{
int n;
ifstream f("ciur.in");
ofstream g("ciur.out");
f>>n;
int nr = sieve(n);
g<<nr;
return 0;
}