Cod sursa(job #2034282)
Utilizator | Data | 7 octombrie 2017 17:51:14 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <iostream>
#include <math.h>
using namespace std;
unsigned int v[2000001];
int main()
{
unsigned int N,i,j,s;
double x=sqrt(N);
cin>>N;
for(i=4;i<=N;i+=2)
v[i]=1;
for(i=3;i<=x;i+=2)
for(j=i*i;j<=N;j+=2*i)
v[j]=i;
for(s=0,i=2;i<=N;i++)
if(!v[i])
s++;
cout<<s;
}