Cod sursa(job #1214826)
| Utilizator | Data | 31 iulie 2014 15:35:45 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
const int MAXN = 2100000;
bool a[MAXN];
int main() {
ifstream fi("ciur.in");
ofstream fo("ciur.out");
int n, s=1, i,j;
fi>>n;
int sqr=sqrt(n);
for(i = 3;i <= sqr; i= i+2)
{
for(j = i + i; j <= n; j += i)
{
if(a[j]==0)
a[j]=1;
}
}
for(i=3;i<= n; i=i+2)
{
if(a[i]==0)
s++;
}
fo<<s;
return 0;
}
