Pagini recente » Cod sursa (job #1534263) | Cod sursa (job #1157146) | Cod sursa (job #1404169) | Cod sursa (job #1394295) | Cod sursa (job #1577644)
#include <algorithm>
#include <stdio.h>
#define DIM 2000002
// Dandu-se un numar natural N, sa se determine numarul numerelor prime mai mici sau egale cu N.
using namespace std;
bool ciur[DIM] ;
int main() {
freopen ("ciur.in","r",stdin) ;
freopen ("ciur.out","w",stdout) ;
int n;
scanf ("%d" , &n) ;
ciur[1]=1 ;
for (int i=3; i<=DIM ; ++i) {
if (!ciur[i]) {
for (int j=i*3;j<=DIM;j+=2*i) // mergea cu i*i dar cum DIM = 2mil i*i depaseste int
ciur[j]=1;
}
++i;
ciur[i]=1 ; //marchez numerele pare ca fiind neprime
}
int s=0 ;
for (int i=1;i<=n;++i) {
s+= ciur[i]^1 ;
}
printf ("%d" , s) ;
return 0;
}