Pagini recente » Cod sursa (job #1145099) | Cod sursa (job #1154091) | Cod sursa (job #680880)
Cod sursa(job #680880)
#include <cstdio>
#include <bitset>
#include <cmath>
using namespace std;
FILE * iFile;
FILE * oFile;
long n, i, j, count;
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+i)
{
nums[j] = 1;
}
}
}*/
for(i=4;i<=n;i=i+2)
{
nums[i] = 1;
}
for(i=3;i<=sqrt(n);i++)
{
for(j=i+2*i;j<=n;j = j + 2 * i)
{
nums[j] = 1;
}
}
}
void show()
{
for(i=2;i<=n;i++)
{
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;
}