Cod sursa(job #2783636)

Utilizator NutaAlexandruASN49K NutaAlexandru Data 14 octombrie 2021 20:16:58
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <stdio.h>
#include <stdlib.h>
#include <bitset>
#include<vector>
using namespace std;
bitset <2000004>c;
int main() {
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    long long x;
    scanf("%lld",&x);
    for(long long i=2;i*i<=x;i++)
    {
        if(!c[i])
        {
            for(long long j=i*i;j<=x;j+=i)
            {
                c[j]=1;
            }
        }
    }
    long long nr=0;
    long long i=2;
    while(i<=x){
        if(c[i]==0)
        {
            nr++;
        }
        i++;
    }
    printf("%lld",nr);
    fclose(stdin);
    fclose(stdout);
	return 0;
}