Pagini recente » Cod sursa (job #2789262) | Cod sursa (job #1339607) | Cod sursa (job #2389702) | Cod sursa (job #2886929) | Cod sursa (job #810043)
Cod sursa(job #810043)
//Beiland Arnold - ciur 09.11.2012
#include <fstream>
#include <vector>
int main(){
std::ifstream fin("ciur.in");
std::ofstream fout("ciur.out");
unsigned int n,sqrtn=1,i=1;
fin>>n;
while((i=(i+2*sqrtn+1))<n) ++sqrtn;
std::vector<bool> ciur(n/2,false);
unsigned int nr=1; //2 is prime
for(unsigned int i=3;i<=n;i+=2)
if(!ciur[i/2-1]){
++nr;
if(i<=sqrtn)
for(unsigned int j=i*i;j<=n;j+=2*i) ciur[j/2-1]=true;
}
fout<<nr<<'\n';
}