Pagini recente » Cod sursa (job #205824) | Cod sursa (job #713687) | Cod sursa (job #15821) | Cod sursa (job #2374417) | Cod sursa (job #1644153)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
int n;
vector <bool> erato;
void sieve (){
for(int i=2;i<=sqrt(n)+1;i++){
if(erato.at(i)){
for(int j=pow(i,2);j<=n;j+=i)
erato.at(j)=false;
}
}
}
int all_smaller_than (int i){
if(i==2) return 1;
return erato.at(i)+all_smaller_than(--i);
}
int main()
{
in>>n;
erato.assign(n+1,true);
sieve();
out<<all_smaller_than(n-1);
return 0;
}