Pagini recente » Cod sursa (job #1815910) | Cod sursa (job #2097522) | Borderou de evaluare (job #1799503) | Cod sursa (job #1967301) | Cod sursa (job #1426179)
#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))+1;
num rez = 1; // mai exact, 2
vector<bool> e_prim(x/2 + 1, true);
for(num i = 3, j; i <= x; i += 2){
if(e_prim[i/2]){
++rez;
if(i <= pana_la){
for(j = i*i; j <= x; j += 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; }