Cod sursa(job #2500585)
| Utilizator | Data | 28 noiembrie 2019 11:51:12 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 70 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
//Ciurul lui Eratostene
using namespace std;
int ciur[2000000];
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int main()
{
int n; fin>>n;
for(int i=2; i*i<=n; i++)
{
if(ciur[i]==0)
for(int j=i*i; j<=n; j=j+i)
ciur[j]=1;
}
int pr=1;
for(int i=3; i<=n; i+=2)
{
if(ciur[i]==0)
pr++;
}
fout<<pr;
fin.close();
fout.close();
return 0;
}
