Cod sursa(job #1944016)
Utilizator | Data | 28 martie 2017 22:01:07 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool x[2000001];
long long a;
long q,l,j;
int main()
{
fin>>a;
if(a<3)fout<<0;
else{
q=sqrt(a)+1,l=0;
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;
}
}