Cod sursa(job #2217226)
| Utilizator | Data | 29 iunie 2018 17:05:45 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <bits/stdc++.h>
#include <vector>
using namespace std;
const int MAXSIZE = 1000000 / 2 + 1;
std::vector<wchar_t> p(MAXSIZE);
int getTheNumber(int n);
int ciur (int n){
int i,j,nr=1;
for(i=1;(i<<1)+1<=n;i+=1){
if(p[i]==0){
nr++;
for(j=i+i+i+1;(j<<1)+1<=n;j+=(i<<1)+1)
p[j]=1;
}
}
return nr;
}
int main()
{
int N;
ifstream f ("ciur.in");
ofstream g ("ciur.out");
f>>N;
g<<ciur(N);
return 0;
}
