Cod sursa(job #2339543)

Utilizator Leonard123Mirt Leonard Leonard123 Data 9 februarie 2019 08:59:55
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.8 kb
/*#include <bits/stdc++.h>

using namespace std;
struct punct
{
    double X,Y;
    punct(){X=Y=0.0;}
    punct(double _X,double _Y){X=_X;Y=_Y;}
    double raza(){return sqrt(X*X+Y*Y);}
    double dist(punct P)
    {
        return punct(X-P.X,Y-P.Y).raza();
    }
};
punct A,B(2.0,2.0);
punct operator+(punct P,punct Q)
{
    return punct(P.X+Q.X,P.Y+Q.Y);
}
punct operator-(punct P,punct Q)
{
    return punct(P.X-Q.X,P.Y-Q.Y);
}
inline int celMaiNesemnificativBit(int x)
{
    return x&(-x);
}
int main()
{
    int n;
    cin>>n;
    while(n)
    {
        cout<<celMaiNesemnificativBit(n)<<' ';
        n-=celMaiNesemnificativBit(n);
    }
    return 0;
}

(a+b)%n=(a%n + v%n)%n;
(a*b)%n=((a%n)*(b%n))%n;
(a-b)%n=(a%n-b%n+n)%n;
(a/b)%n=(a%n*(b^n-2) %n) %n

#include<iostream>
using namespace std;
int  n,j,k,a[100][100];
void putere(int a, int n){
    long long c=1, m=n, b=a;
    while(m>0){
        if(m%2==1)
            c=(c*b)%k;
        b=(b*b)%k;
        m=m>>1;
    }
    cout<<c;
}
void triunghiul_lui_pascal(){
    for(int i=1; i<=n; i++){
        a[i][0]=a[i][j]=1;
        for(int j=1; j<=i-1; j++)
            a[i][j]=(a[i-1][j] + a[i-1] [j-1]) % 666013;
    }
    for(int i=0; i<n; i++){
        for(int j=1; j<n; j++)
            cout<<a[i][j]<<endl;
        cout<<endl;
    }
}

int main(){
    cin>>n>>k;
    triunghiul_lui_pascal();
    return 0;
}
*/
#include<fstream>
#include<bitset>
using namespace std;
ifstream cin("ciur.in");
ofstream cout("ciur.out");
#define M 2000005
bitset <M> bitsett;

int main(){
    int n, cnt=1;
    cin>>n;
    for(int i=3; i*i<=n; i+=2)
        if(!bitsett[i]){
            cnt++;
            for(int j=i+i; j<=n; j+=i)
                bitsett[j]=1;
        }
    cout<<cnt;
    return 0;
}