Cod sursa(job #1466076)
| Utilizator | Data | 28 iulie 2015 16:53:16 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <iostream>
#include <fstream>
#define fin "ciur.in"
#define fou "ciur.out"
#define Max 2000010
using namespace std;
ifstream t1(fin);
ofstream t2(fou);
int n,nrprim;
bool ciurul[Max];
void ciur(int x)
{
int i;
for(i=2;i<=n/x;i++) ciurul[i*x]=1;
}
int main()
{
int i;
t1>>n;
ciurul[1]=1;
nrprim=0;
for(i=2;i<=n;i++) if(ciurul[i]!=1) { nrprim++; ciur(i); }
t2<<nrprim<<'\n';
t1.close();
t2.close();
return 0;
}
