Cod sursa(job #1800783)
| Utilizator | Data | 8 noiembrie 2016 08:37:43 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int ciur(int n){
vector<bool> vizitat(n/2+1,false);
for(int i=1;((i*i)<<1)+(i<<1)<=n;i+=1)
if(!vizitat[i])
for(int j=((i*i)<<1)+(i<<1) ; (j<<1)+1 <=n ; j += (i<<1) + 1)
vizitat[j]=true;
int cnt(1);
for(int i=1;2*i+1<=n;i+=1)
if(!vizitat[i])
cnt+=1;
}
int main()
{
int n;
fin>>n;
fout<<ciur(n);
return 0;
}
