Pagini recente » Cod sursa (job #600287) | Cod sursa (job #3145523) | Cod sursa (job #51135) | Cod sursa (job #568467) | Cod sursa (job #1426180)
#include <vector>
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
using num = unsigned long long;
num ciur(const num x){
const int pana_la = ceil(sqrt(x));
num rez = 1; // mai exact, 2
vector<bool> e_prim(x/2 + 1, true);
for(num i = 3; i <= x; i += 2){
if(e_prim[i/2]){
++rez;
if(i <= pana_la){
for(int j = i*i; j <= x; j += 2*i){
e_prim[j/2] = false; } } } }
return rez; }
int main(){
ifstream f("ciur.in");
ofstream g("ciur.out");
num n = 0;
f >> n;
g << ciur(n);
return 0; }