Cod sursa(job #2084862)
Utilizator | Data | 9 decembrie 2017 12:25:07 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
int a[2000001];
int main() {
int b,c=0,i=2;
fin>>b;
if(b>=2 && b<=2000000){
while(i<=b)
{
if(a[i]==0)
{
for(int j=i+i;j<=b;j+=i)
{
a[j]=1;
}
c++;
}
if(i==2)
{
i+=1;
}else{i+=2;}
}
fout<<c;
}
return 0;
}