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