Cod sursa(job #1037456)
Utilizator | Data | 20 noiembrie 2013 11:44:30 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
#define MAX 2001000
bool a[MAX+19];
int main()
{
int n,i,j,k;
a[0]=a[1]=1;
fin>>n;
k=0;
for(i=2;i<=n;i++)
{
if(!a[i])
{
for(j=i*i;j<=MAX;j+=i)
a[j]=1;
k++;
}
}
fout<<k<<"\n";
return 0;
}