Pagini recente » Cod sursa (job #2587771) | Cod sursa (job #1356811) | Cod sursa (job #70718) | Cod sursa (job #2575076) | Cod sursa (job #720584)
Cod sursa(job #720584)
#include<stdio.h>
#include<assert.h>
#include<math.h>
#include<algorithm>
#include<vector>
using namespace std;
const int knmax = 2000005;
int upper, sol;
bool sieve[knmax];
void read(){
assert(freopen("ciur.in", "r", stdin) != NULL);
scanf("%d", &upper);
}
void init(){
for(int i = 1; i <= upper; ++i)
sieve[i] = true;
}
void solve(){
init();
long long i, j;
for(i = 2; i <= upper; ++i)
if(sieve[i] == true){
++sol;
for(j = i * i; j <= upper; j = j + i)
sieve[j] = false;
}
}
void write(){
assert(freopen("ciur.out", "w", stdout) != NULL);
printf("%d",sol);
}
int main(){
read();
solve();
write();
return 0;
}