Pagini recente » Cod sursa (job #865212) | Cod sursa (job #2329748) | Cod sursa (job #2067666) | Cod sursa (job #119502) | Cod sursa (job #681167)
Cod sursa(job #681167)
#include <cstdio>
#include <bitset>
#include <cmath>
using namespace std;
FILE * iFile;
FILE * oFile;
long n, i, j, count=1;
bitset<20000000> nums;
void read()
{
fscanf(iFile, "%ld", &n);
}
void reduce()
{
for(i=2;i<=sqrt(n);i++)
{
if(nums[i] == 0)
{
for(j=i+i;j<=n;j=j+2*i)
{
nums[j] = 1;
nums[j+i] = 1;
}
}
}
}
void show()
{
for(i=3;i<=n;i=i+2)
{
if(nums[i] == 0)
count++;
}
fprintf(oFile, "%ld", count);
}
int main()
{
iFile = fopen("ciur.in", "r");
oFile = fopen("ciur.out", "w");
read();
reduce();
show();
fclose(iFile);
fclose(oFile);
return 0;
}