Cod sursa(job #1345531)
Utilizator | Data | 17 februarie 2015 18:14:08 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
bool v[2000002];
int prim(int n)
{
for(int i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}
void ciur(int N, int &s)
{
for(int i=1;i<=N;i++)
{
if(prim(i)==1)
{
v[i]=1;
s++;
for(int j=2;j<N;j++)
v[i*j]=0;
}
}
}
int main()
{
int N,s=0;
in>>N;
ciur(N,s);
s--;
out<<s;
return 0;
}