Pagini recente » Cod sursa (job #2603457) | Cod sursa (job #1065448) | Cod sursa (job #2191058) | Cod sursa (job #2716044) | Cod sursa (job #1525883)
#include <iostream>
#include <fstream>
#include <math.h>
#include <stdio.h> // for memset
#include <string.h> // for memset
using namespace std;
#define nmax 2000001
char num[nmax];
int n;
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
memset (num,0,n);
int q = sqrt(n);
int i = 2, s;
while (i <= q ) {
for (s = i*i; s <= n; num[s]=1,s+=i) ;
i++;
while (num[i] != 0) i++;
}
for (s = 0, i = 2; i <= n ; i++)
if (num[i]==0)
s++;
printf("%d",s);
fclose(stdin);
fclose(stdout);
return 0;
}