Cod sursa(job #232963)
Utilizator | FMI Carol Plangu carlone | Data | 16 decembrie 2008 16:14:21 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include"stdio.h"
#include<bitset>
using namespace std;
bitset<2000000> pr;
long n,q=0;
void genprime(long n)
{
pr.reset();
for(long g=2;g<=n;g++)
if(!pr[g])for(long h=g*2;h<=n;h+=g)pr[h]=1;
q=n-(long)(pr.count())-1;}
int main()
{freopen("ciur.in","r",stdin);freopen("ciur.out","w",stdout);
scanf("%ld",&n);genprime(n);printf("%ld\n",q);
return 0;}