Cod sursa(job #2456138)

Utilizator MihclerioVladimir Chim Mihclerio Data 13 septembrie 2019 19:22:31
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include<bits/stdc++.h>

#define all(s) s.begin(),s.end()
#define rc(x) return cout<<x<<endl,0
#define forn(i,n) for(int i=0;i<int(n);i++)
#define len(a) (int) (a).size()

#define pb push_back
#define mp make_pair
#define fr first
#define sc second

typedef long long ll;
typedef long double ld;

const int nmax=1e5+3;
const int mod=998244353;
const ll inf=0x3f3f3f3f3f3f3f3f;

/*===================*\
      comentarii:
\*===================*/

using namespace std;

bool v[2000000];

int main()
{
    //freopen("bfs.in","r",stdin);
    //freopen("bfs.out","w",stdout);
    ifstream cin("ciur.in");
    ofstream cout("ciur.out");
    int n;
    cin>>n;
    v[0]=v[1]=1;
    int sol=0;
    for(int i=2;i<=n;i++)
        if(!v[i])
    {
        sol++;
        for(int j=i*2;j<=n;j+=i) v[j]=1;
    }
    cout<<sol;
}