Cod sursa(job #1944013)
Utilizator | Noroc Andrei Mihail andreiutu111 | Data | 28 martie 2017 21:59:27 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
long x[2000001];
long long a;
int main()
{
fin>>a;
if(a<3)fout<<0;
else{
long q=sqrt(a)+1,l=0,j;
for(long i=2;i<=q;i++)
if(!x[i]){
j=2;
while(i*j<=a)x[i*j]=1,j++;
}
for(long i=2;i<=a;i++)
if(!x[i])
l++;
fout<<l;
}
}